我正在尝试使用Codeception为家庭作业创建一个小型测试套件。我的想法是将单个Cest测试场景应用于多个URL,并获得不同的结果,然后我可以通过一些标识(例如文件名)来记录这些结果。
主要有两件事我想不通:
- 如何使用不同的URL运行单个测试,并为每个测试记录失败的断言/通过的断言
- 如何检查每个断言,即使其中一些断言失败
第一部分:
我假设您使用的是带有Selenium的Codeception。
您可以在acceptance.suite.yml
:中对此进行配置
class_name: AcceptanceTester
modules:
enabled:
- WebDriver
- AcceptanceHelper
config:
WebDriver:
url: 'http://localhost.dev:8000/'
browser: 'firefox'
env:
url1:
modules:
config:
WebDriver:
url: 'http://url-1.dev/'
browser: 'chrome'
url2:
modules:
config:
WebDriver:
url: 'http://url-2.dev/'
browser: 'chrome'
url3:
modules:
config:
WebDriver:
url: 'http://url-3.dev/'
browser: 'chrome'
然后调用这样的测试:
$ php codecept.phar run acceptance --env url1 --env url2 --env url3
有关更多详细信息:http://codeception.com/docs/07-AdvancedUsage#Environments
第二部分:
如果断言失败,测试仍将继续进行后续环境。您还可以使用条件断言(以canSee
和cantSee
开头的断言),即使断言失败,也可以继续测试。
有关更多详细信息:http://codeception.com/docs/03-AcceptanceTests#Conditional-断言