我正在编写一个验收测试套件,并且必须使环境易于配置,但是要使其正常工作,我需要能够合并两个或多个环境( geoLocation,浏览器,操作系统,网址 strong>)。
如果我运行:.\codecept run tests\acceptance\acceptanceTestCest --env firefox
,则测试开始运行,而我选择的任何环境都没有问题。
现在我的问题是,如果我尝试合并环境:.\codecept run tests\acceptance\acceptanceTestCest --env firefox,US
我会收到以下消息:
在Configuration.php第306行中: [Codeception \ Exception \ ConfigurationException] 套件测试\ 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上的文档,但那里似乎没有做错任何事情。
编解码版本为 2.4.5 PHP版本为 7.2.8 操作系统: Windows Server 2012 安装类型: Composer 1.7.2
我尝试过的事情:
将环境放入_envs文件夹。
将环境放入codeception.yml
我现在不记得的其他事情。
如果有人有任何想法,请分享,因为我的头再也无法承受来自桌子的打击。如果您需要更多信息,可以询问。
谢谢!
编辑:我也有在jenkins上的项目,并且合并环境在这里也可以很好地工作,但是如果我尝试下载完全相同的项目并在本地运行它仍然无法正常工作。