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

标签 php automated-tests codeception

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

有两件事我想不通:

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

最佳答案

第一部分:

我假设您正在使用 Codeception 和 Selenium。

您可以在 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-Assertions

关于php - 使用 codeception 测试多个 url(文件)并记录单独的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296391/

相关文章:

php - 在 Ubuntu10 中安装 pdo_pgsql 不工作

javascript - 未设置 PHP GET 变量

gradle - 在build.gradle中更改胶水

mysql - Codeception DB模块异常

php - 返回列表中没有记录的所有元素。 (MySQL)

javascript - 单击按钮(Web 应用程序)后执行什么脚本?

python - 使用 Python Selenium 从 span 中提取日期

php - 代码接收中的扫描输入

php - 在 yii2 中自动化代码接收测试

php - SSH2 修改用户密码