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

使用testng maven并行运行selenium测试用例

罗祺
2023-03-14

需要一些帮助来获得并行运行testng测试用例的正确方法。

 <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>
<suite name="testSuite" verbose="10" preserve-order="true" configfailurepolicy="continue">

<test name="SanityTest" parallel="none">
    <classes>
        <class name="test.java.HeaderTests"/>
    </classes>
</test>
</suite>
driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.get(url);

共有1个答案

袁泰
2023-03-14

根据您的问题和澄清,似乎您希望并行运行您的测试。例如,并行运行多个测试类,这样可以减少测试执行时间。在这种情况下,更可取的做法是设置测试运行程序的多个线程(如TestNG),而不是WebDriver的多个线程/实例。类似于这样:

    <suite name="Parallel test runs" parallel="tests" thread-count="2"> 
        <test name="test1">
            <classes>
                <class name="com.company.test1" ></class>
            </classes>
        </test>

        <test name="test2">
            <classes>
                <class name="com.company.test2" ></class>
            </classes>
        </test>
    </suite>

这将并行运行test1和test2。使用TestNG,可以并行运行方法、类或组。为WebDriver设置多个线程的一个可能的用例是这样一个场景,即在测试运行时,您希望继续检查是否存在警报。(我个人不赞成这样的风格,但我见过团队这样做)。对于这样的方法来说,测试类不应该是相互依赖的。此外,每个测试应该(在开始时)设置WebDriver的一个实例,并(在测试结束时)拆除一个实例。

 类似资料:
  • 我一个类有5到6个方法,想在不同的节点上并行运行方法,我有网格2设置,里面有4个节点。 下面是我的测试。xml 我有一个测试工具,它初始化了login、common和utils类 在我的测试类中,我扩展了测试工具,在@Beforemethod中,我调用了inilze方法 如果我运行测试,我会看到以下问题 两个浏览器在每个节点中打开一个,但只有一个浏览器启动应用程序,另一个不启动。 如果我遗漏了什么

  • Javav8. x-Springv5. xcucumberv4.2.0 我尝试了temyers/cucumber jvm并行插件,效果很好,但当我进入他们的gitihub页面时,他们宣布停止使用该插件b/c cucumber已经开始支持cucumber jvm 4.0的并行测试运行支持。0 我有使用以下maven依赖项的现有测试。 我有两个问题让我困惑。 为了使用cucumber-jvm,我必须更

  • 附加信息@Saifur我创建了一个单独的基类,在其中我初始化了驱动程序实例。我在@BeForeClass中调用这个实例,在@afterClass中调用driver.quit()。通过在testng.xml中提供两个不同的类,我试图运行这个实例。

  • 我正在尝试使用2个xml文件与Maven并行运行我的测试,但似乎不起作用。我已经尝试了Maven留档中的步骤/参数:http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html 以下是我的pom.xml文件: 这是功能1.xml文件: 我应该做哪些参数/更改才能使其生效? 谢谢你

  • 问题内容: 我正在尝试使用testng并行运行自动化测试(Selenium webdriver)。这是我正在运行的节点: 这是我的测试课: } 这是我的xml: 当我运行XML时,我希望我的测试一次在两个线程中的两个浏览器上运行,但是,当我运行XML时,我使两个浏览器实例第一次运行,然后它们分别递增,并且50%测试失败了,您可以看到我正在尝试在每个方法中实例化驱动程序,尽管这不是我的框架如何工作,

  • 是否可以在gradle.properties文件中定义test.maxParallelForks=runtime.runtime.availableProcessors(),而不是在test任务下的每个build.gradle文件中定义它?