首页 > 解决方案 > 如何合并两个或多个环境

问题描述

我正在编写一个验收测试套件,我必须使环境易于配置,但要使其工作,我需要能够合并两个或多个环境(geoLocation、浏览器、os、urls)。

如果我运行:.\codecept run tests\acceptance\acceptanceTestCest --env firefox测试开始运行,而我选择的任何环境都没有问题。

现在我的问题是,如果我尝试合并环境:.\codecept run tests\acceptance\acceptanceTestCest --env firefox,US我收到以下消息:

在 Configuration.php 第 306 行:[Codeception\Exception\ConfigurationException] Suite tests\acceptance\acceptanceTestCest.php 未加载

如果我尝试合并两个以上的环境,我会收到以下消息:

参数太多,预期参数“命令”“套件”“测试”。

这就是我的acceptance.suite.yml的样子:

actor: AcceptanceTester
modules:
    enabled:
        - WebDriver:
            url: http://localhost
        - REST:
            depends: PhpBrowser
            url: 'http://localhost/api/'
        - \Helper\Acceptance
    config:
        WebDriver:
            host: 'user:key@hub.browserstack.com'
            port: 3214
            browser: chrome
            capabilities:
                os: Windows
                os_version: 10
                browserstack.local: true # for local testing
env:
    AU:
        modules:
            config:
                WebDriver:
                    capabilities:
                        browserstack.geoLocation: AU
    US:
        modules:
            config:
                WebDriver:
                    capabilities:
                        browserstack.geoLocation: US
    CA:
        modules:
            config:
                WebDriver:
                    capabilities:
                        browserstack.geoLocation: CA
    firefox:
        modules:
            config:
                WebDriver:
                    browser: firefox    
    safari:
        modules:
            config:
                WebDriver:
                    browser: safari

我到处寻找这个问题,我什至没有找到任何遇到它的人。我发现最接近的是测试只能在第二个环境中运行。

我是新手Codeception,可能我错过了一些东西。我阅读了 https://codeception.com/docs/07-AdvancedUsage#Environments上的文档,我似乎没有从那里做任何错事。

Codeception 版本是2.4.5 PHP 版本是7.2.8 操作系统:Windows server 2012 安装类型:Composer 1.7.2

我尝试过的事情:

将环境放在 _envs 文件夹中。
将环境放入 codeception.yml

其他的事情我现在不记得了。

如果有人有任何想法,请分享,因为我的头不能再承受桌子上的打击了。如果您需要更多信息,您可以询问。

谢谢 !

编辑:我也有 jenkins 上的项目,并且合并环境在那里完美运行,但如果我尝试下载完全相同的项目并在本地运行它仍然无法正常工作。

标签: phpcodeceptionqabrowser-automationacceptance-testing

解决方案


推荐阅读