当前位置: 首页 > 知识库问答 >
问题:

如何使用Java在TestNg中并行执行cucumber场景?[副本]

汲丰茂
2023-03-14

我正在使用JavaSelenium和TestNG。我可以使用TestNG并行执行测试。

但现在我已经将cucumber与TestNG集成,但我无法并行执行cucumber场景。我可以使用并行执行两个功能文件,但不能在一个功能文件中并行执行两种场景。

有人知道我们如何在一个功能文件中实现场景的并行执行吗?

请在下面找到我的测试xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="methods" thread-count="5">
    <listeners>
        <listener class-name="com.pages.LocalWebDriverListener"></listener>
    </listeners>
    <test name="Test" parallel="methods" thread-count="5">
        <parameter name="browserName" value="firefox"></parameter>
        <classes>
            <class name="com.pages.CucumberRunner" />
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->

请在下面找到我的cucumber跑者课程

@RunWith(Cucumber.class)
@CucumberOptions(features = { "scenario/test.feature" }, glue="com.pages")
public class CucumberRunner extends AbstractTestNGCucumberTests{


}

请在下面找到我的测试.特征文件

Scenario: sample1
    Given Login with user account 

Scenario: sample2
    Given Login with guest account 

Scenario: sample3
    Given Login with other account 

我感谢您的帮助。谢谢

共有1个答案

洪高阳
2023-03-14

根据我的研究,这目前在cucumber-jvm中是不可能的。这里有一个悬而未决的问题:https://github.com/cucumber/cucumber-jvm/issues/630 提供此功能

 类似资料:
  • 我有一套为Cucumber-JVM编写的验收测试。为了减少反馈时间,我想并行运行(功能)的场景。如何以最简单、最方便的方式做到这一点? (我更希望能够在Java代码中表达这一点,作为一个常规的JUnit测试/运行程序,即我不希望使用maven-sureFire或maven-故障安全插件来解决一些问题,这将需要(?)之后对Cucumber报告进行旋转和合并。)

  • 我一直在阅读大量的文档、帖子和文章,据说在单个功能文件中并行运行场景的开箱即用解决方案是不可能的。我们可以使用maven-surefire插件在不同的特性文件中并行运行,但不能在场景中运行。 例如,有一个包含场景的功能文件: 我想在单独的线程中同时运行所有这些场景。 我该如何实现这一点?

  • 使用Cucumber,我们创建了由不同场景组成的不同功能文件。我们记住的一件事是,每个场景都独立于所有其他场景。 问:我们可以对所有的特征文件或场景进行并行执行吗?

  • jhbhhjhj当我点击登录并输入有效的“kumar.rakesh@yopmail.com”和有效的“admin@123”,然后点击登录,用户应该可以成功登录 测试转轮

  • 我正试图在Maven中基于cucumber标记运行一套JUnitCucumber特性。我可以让它们按顺序运行,但不能并行运行。我找到了一个名为小胡瓜的软件包,它可以帮我解决这个问题。 然而,我无法让测试运行,我看了github上的示例maven项目,它在Cucumber.class运行良好,但在西葫芦上抛出一个错误。 任何帮助将不胜感激。 我已在pom中包括以下内容 我是在召唤我的跑步者。 我得到