php - 如何合并两个或多个环境
问题描述
我正在编写一个验收测试套件,我必须使环境易于配置,但要使其工作,我需要能够合并两个或多个环境(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 上的项目,并且合并环境在那里完美运行,但如果我尝试下载完全相同的项目并在本地运行它仍然无法正常工作。
解决方案
推荐阅读
- excel - 具有更多结果的 VBA 循环
- java - 一种方法中的多个布尔测试
- ios - 如何更改模态演示ios13的背景颜色?
- android - 启动 AVD Android 10.0 API 29 时 Windows 10 蓝屏死机
- python - 如何从python字符串中提取日期
- azure - 如何在应用服务计划中的应用之间分配资源
- python - 多类分割 UNet 给出了意想不到的输出
- r - 我可以使用 lm 的多个子集创建一个带有 geom_smooth 的 lm 吗?
- c - 我没有得到此代码的输出(反转字符串)。谁能告诉我为什么?
- android - 如何防止 gms.Task 的内存泄漏?