是否可以同时在不同的浏览器(chrome 和 firefox)上并行执行黄瓜场景?
Is it possible to execute cucumber scenario's in parallel on different browsers(chrome and firefox) at same time?
我成功地 运行 黄瓜场景的并行,但只在一种浏览器类型(chrome 或 firefox)上。所以首先我 运行 我在 chrome 上进行测试。测试完成后,我开始在 firefox 上进行第二个测试 运行。
是否可以同时在不同的浏览器类型上并行 运行 黄瓜场景?
在 https://cucumber.io/docs/guides/parallel-execution/
查看 cucumber bdd 文档如何实现场景的并行执行
我使用 testNG 作为测试运行ner!
非常感谢您的回复!
看下面的回答
https://github.com/prashant-ramcharan/courgette-jvm-selenium 上的 link 解释了如何使用 courgette-jvm(cucumber-jvm 上的扩展名)实现。
您正在 运行 对浏览器矩阵进行测试。通常,此矩阵在 CI 中配置并通过环境变量提供给测试执行。例如使用 Gitlab CI Matrix:
test:
stage: test
script:
- mvn test
parallel:
matrix:
- OS: Windows
OS_VERSION: 10
BROWSER: [Chrome, Firefox, Edge]
- OS: OS X
OS_VERSION: Big Sur
BROWSER: [Chrome, Firefox, Edge, Safari]
然后使用环境变量在 before 挂钩中创建 Web 驱动程序。
@Before
public void before(Scenario scenario){
String os = System.getenv("OS");
String osVersion = System.getenv("OS_VERSION");
String browser = System.getenv("BROWSER");
driver = createDriver(os, osVersion, browser);
}
您还可以使用 Maven 配置文件或 Gradle 任务来定义这些不同的环境变量集。
然而,关键是通过启动多个 JVM 让这些作业在您的 CI 系统上并行执行,而不是仅在 Cucumber 中启动多个线程。
我成功地 运行 黄瓜场景的并行,但只在一种浏览器类型(chrome 或 firefox)上。所以首先我 运行 我在 chrome 上进行测试。测试完成后,我开始在 firefox 上进行第二个测试 运行。
是否可以同时在不同的浏览器类型上并行 运行 黄瓜场景?
在 https://cucumber.io/docs/guides/parallel-execution/
查看 cucumber bdd 文档如何实现场景的并行执行我使用 testNG 作为测试运行ner!
非常感谢您的回复!
看下面的回答
https://github.com/prashant-ramcharan/courgette-jvm-selenium 上的 link 解释了如何使用 courgette-jvm(cucumber-jvm 上的扩展名)实现。
您正在 运行 对浏览器矩阵进行测试。通常,此矩阵在 CI 中配置并通过环境变量提供给测试执行。例如使用 Gitlab CI Matrix:
test:
stage: test
script:
- mvn test
parallel:
matrix:
- OS: Windows
OS_VERSION: 10
BROWSER: [Chrome, Firefox, Edge]
- OS: OS X
OS_VERSION: Big Sur
BROWSER: [Chrome, Firefox, Edge, Safari]
然后使用环境变量在 before 挂钩中创建 Web 驱动程序。
@Before
public void before(Scenario scenario){
String os = System.getenv("OS");
String osVersion = System.getenv("OS_VERSION");
String browser = System.getenv("BROWSER");
driver = createDriver(os, osVersion, browser);
}
您还可以使用 Maven 配置文件或 Gradle 任务来定义这些不同的环境变量集。
然而,关键是通过启动多个 JVM 让这些作业在您的 CI 系统上并行执行,而不是仅在 Cucumber 中启动多个线程。