使用codeception测试多个url(文件),并记录单独的结果


Test multiple urls (files) with codeception and log separate results

我正在尝试使用Codeception为家庭作业创建一个小型测试套件。我的想法是将单个Cest测试场景应用于多个URL,并获得不同的结果,然后我可以通过一些标识(例如文件名)来记录这些结果。

主要有两件事我想不通:

  1. 如何使用不同的URL运行单个测试,并为每个测试记录失败的断言/通过的断言
  2. 如何检查每个断言,即使其中一些断言失败

第一部分:

我假设您使用的是带有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

第二部分:

如果断言失败,测试仍将继续进行后续环境。您还可以使用条件断言(以canSeecantSee开头的断言),即使断言失败,也可以继续测试。

有关更多详细信息:http://codeception.com/docs/03-AcceptanceTests#Conditional-断言