【问题标题】:How to run scenarios in Cucumber-JVM in parallel? [duplicate]如何在 Cucumber-JVM 中并行运行场景? [复制]
【发布时间】:2018-06-20 14:11:12
【问题描述】:

我有一组为 Cucumber-JVM 编写的验收测试。为了减少反馈时间,我想并行运行(功能的)场景。我该如何以最简单、最方便的方式做到这一点?

(我希望能够在 Java 代码中表达这一点,作为常规的 JUnit 测试/运行程序,即我不希望使用需要(? ) 之后对 Cucumber 报告进行旋转和合并。)

【问题讨论】:

  • 我使用surefire并行运行黄瓜测试并将其与Jenkins插件一起使用。为什么需要合并黄瓜报告?
  • 你也可以用 gradle 来做这个,如果你正在使用它?
  • 也面临同样的问题。很难在原始答案中找到解决方案。将来可能会对某人有所帮助 - 在配置中使用 'cucumber-jvm-parallel-plugin' 和 'SCENARIO'

标签: java cucumber cucumber-jvm cucumber-junit junit-runner


【解决方案1】:

由于 cucumber-jvm 包的特性,测试并行化暂时受限。未来有更改 API 的暂定计划(gherkin3、cucumber-jvm v2),但现在 cucumber-jvm 上没有任何东西可用于完全并行化。

仍然有一种方法可以在 cucumber-jvm 上获得一定程度的并行性。 Zucchini 包 (https://github.com/Comcast/Zucchini) 可以通过提供上下文级别的并行性来提供帮助,如果您必须针对 Android / iOS / Chrome / 等运行一系列测试,这可能会有所帮助。然后将测试结果合并到一个报告中。

要开始使用 Zucchini,请创建一个扩展 AbstractZucchiniTest 并使用 @CucumberOptionsZucchiniOutput 标记的新测试类。然后该类应该实现List<TestContext> getTestContexts() 方法,该方法返回您的专用上下文列表。

Zucchini 还提供其他功能,例如跨上下文屏障同步和将测试输出汇总到 HTML 报告中。如果您已经进行了 Cucumber 测试,那么将它们升级到 Zucchini 测试并没有什么太大的关系。

【讨论】:

  • 下面有一个示例:github.com/dimaj/zucchini-sample。它展示了如何在 Zucchini 中使用用于 Chrome 和 Firefox 的 Selenium Web 驱动程序,并且该 repo 应该为任何平台构建,尽管 chromedriver 的执行取决于操作系统。
猜你喜欢
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多