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

4
我正在开发一个基于Symfony框架的PHP网站。我想要进行自动化GUI测试,但我只了解PHPUnit测试,而这不适用于我的GUI应用程序。是否有特定的测试框架除了Selenium 1或2?我正在寻找一种易于理解的框架,能够反复进行测试。是否有任何适合我的php symfony网站的好框架?哪些框架易于使用(我需要进行测试,但时间不充裕,但我又不想忽略测试)?该网站不是很复杂,但对于不同用户角色和权限有不同的子站点。因此,是否有一种简单的框架可以让我快速地测试应用程序,并以强大的方式查找错误并创建测试报告?

2
https://codeception.com/ 会搞定它!;-) (还有Symfony模块) - delboy1978uk
看一下 Panther:https://symfony.com/blog/introducing-symfony-panther-a-browser-testing-and-web-scrapping-library-for-php - COil
我不信任 panther COil。首先,他甚至都无法在标题中拼写“scraping”。其次,使用适当的验收测试套件比使用抓取库更好。 - delboy1978uk
1
相信我,你会喜欢它的! $I->amOnPage('/news'); $I->see('最新消息'); $I->click('#some-link'); $I->see('其他东西!') 它非常棒! - delboy1978uk
1个回答

0
Symfony内置了一个经过良好建立的功能测试库(可轻松包含在Symfony 4+/Flex中),从PHPUnit角度来看非常易用。它也相当快,因为它在自身内部构建了一个运行中的Symfony应用程序,而不是使用外部系统和Web服务器。通过它,您可以在网站上浏览,输入表单数据,并检查计划中发生的事情。今天我实际上正在使用它来确保仅有适当的人员有登录权限,并且能够查看预期的信息,这全部都是从PHPunit集成测试中运行的。
但它无法运行JavaScript, 因此为了进行更复杂的测试,创建WebTestCase的同一团队添加了一个即插即用的替代/扩展Panther。它使用名为WebDriver协议的Chrome和Firefox API来从代码控制真实的浏览器。虽然它会慢一些,但该协议和控制系统允许完全使用和测试JavaScript。

最好的是,它只是另一个接口,使用与常规WebTest代码相同的代码编写,因此也很容易使用(尽管设置可能会有点“有趣”,因为它是如此新颖)。

以上还有一条评论:

首先,他甚至在标题中都无法拼写“scraping”。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接