Symfony创建的网站的自动GUI测试

时间:2018-10-22 14:30:14

标签: php symfony user-interface testing regression-testing

我正在用symfony框架编写基于PHP的网站。我想进行自动GUI测试。我只知道测试是PHPUnit测试,不适用于我的GUI应用程序。除硒1或硒2之外,是否有特定的测试框架。我正在寻找一种易于理解的框架,可以重复进行测试。有没有适合我的PHP symfony网站的好东西?哪些易于使用(我需要进行测试,但是我没有太多时间来做,但是,我不想忽略它)。该网站并不复杂。但对于具有不同权限的不同用户角色,它具有不同的子站点。那么,是否有一个简单的框架可以让我快速,强大地找到缺陷并​​创建测试报告,从而对我的应用程序进行测试?

1 个答案:

答案 0 :(得分:1)

Symfony内置了一个完善的functional testing库(或者很容易包含在Symfony 4 + / Flex中),从PHPUnit的角度来看,它非常有用。它也非常快,因为它在内部构建了一个正在运行的Symfony应用程序,而不是使用外部系统和Web服务器。借助它,您可以在站点中导航,输入表单数据并检查是否按计划进行。我今天实际上正在使用它来确保只有适当的人才能登录,并且可以看到预期的信息。所有这些都是通过PHPunit集成测试运行的。

它无法运行,但是运行Javascript,因此,创建WebTestCase的人添加了一个名为Panther的替换/扩展,用于需要更多相关测试的地方。它使用Chrome和Firefox的WebDriver protocol API,通过代码控制真正的浏览器。虽然速度会稍慢一些,但协议和控制系统允许完全使用和测试Javascript。

最重要的是,它只是另一个具有与常规WebTest代码相同的代码的接口,因此它也很容易使用(尽管设置它会有点“有趣”,因为这样新)。

上面也有评论:

  

首先,他甚至无法在标题中拼写为“抓取”。

请记住,公告栏和Panther库的作者是Kévin Dunglas,英语是他的第二(可能是第三)语言,不包括计算机代码-因此批评一个简单的拼写错误非常琐碎。它也与代码的质量无关-非常好。他参与(或领导团队)的其他代码包括API Platform-和Symfony核心团队。