【问题标题】:Parallel Browser Execution Possible in Cucumber (Java / Maven)?Cucumber(Java / Maven)中可能的并行浏览器执行?
【发布时间】:2017-04-21 09:15:56
【问题描述】:

Cucumber (Java / Maven) 中可能的并行浏览器执行?

例如,我知道在不涉及 Cucumber 的情况下使用 TestNG 肯定是可能的,但是甚至可以将 Java、Cucumber、jUnit 和 TestNG 嵌入在一起吗?

我尝试了以下 TestNG.xml 文件,它指向一个运行器类,然后指向多个功能文件但没有成功:/

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Automation_Scripts" verbose="2"  parallel="classes" thread-count="2">
    <listeners>
        <listener class-name="Framework.utilities.RetryListner"></listener>
    </listeners>

    <test name="Automation Tests">
        <packages>
            <package name="TestFramework.ncc.*"></package>
        </packages>
    </test>
</suite>

【问题讨论】:

  • 它应该可以工作。你应该更多地描述你的问题并分享更多的东西,以便有一个更全局的观点。

标签: selenium selenium-webdriver junit cucumber testng


【解决方案1】:

据我所知,黄瓜中没有内置功能,但我看到了一种方法,其中不同的黄瓜场景集由不同的 junit 类运行,然后并行运行。

定义哪个类运行哪些场景可以通过使用标签或者为不同的runner类定义不同的特性来实现。

有一个 maven 插件似乎可以自动执行该方法:https://github.com/temyers/cucumber-jvm-parallel-plugin

【讨论】:

    【解决方案2】:

    这可以通过使用黄瓜的 TestNG 来完成。

    为了实现这一点,您必须为每个功能文件配备独立的测试运行器。

    例如:

    TestRunnerA 指向某个文件夹中的特征 A

    TestRunnerB 指向某个文件夹或相同文件夹中的功能 B

    如果所有功能都在同一个文件夹中,请在功能中指定确切的文件(在黄瓜选项中)。

    然后您可以在 testNG xml 中将它们指定为单独的测试,它们将并行运行。

    可以在这里看到它的一个样本 Link

    【讨论】:

      【解决方案3】:

      Jithu Paul 的回答是这通常是如何处理的,这主要是因为每个运行器类都需要有稍微独特的黄瓜选项来输出测试结果(即唯一的 JSON 文件名)。这种迂回的方式是由于无法对 Java 注释进行参数化。但是,您可以使用 java 反射动态重命名黄瓜选项。 这个项目有一个很好的例子: https://github.com/workpeter/ARGOS

      尤其是跑步者类。截至今天,它位于此处: https://github.com/workpeter/ARGOS/blob/master/src/test/java/integrationTests/cucumber/Runner.java

      【讨论】:

        猜你喜欢
        • 2019-03-30
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-14
        • 2017-09-01
        相关资源
        最近更新 更多