使用selenium testNG在不同的浏览器中并行运行黄瓜

时间:2018-03-29 08:43:58

标签: testng maven-plugin selenium-grid cucumber-jvm parallel-testing

如何使用testNG和selenium或cucumber-JVM运行黄瓜功能 我是新手,但在我的研究之后,我认为黄瓜jvm对我而言并不起作用我还添加了surefire插件

现在我尝试用TESTNG进行测试 我的testNg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="run test in parallel Suite" parallel="tests" verbose="1" configfailurepolicy="continue" thread-count="2">

  <listeners>

        <listener classname="com.driver.LocalWebDriverListener" />
    </listeners>
    <test name="Tests in FF">
        <parameter name="browserName" value="firefox" />
        <classes>
            <class name="com.runner.RunnerTestInFirefox" />
        </classes>
    </test>
    <test name="Tests in Chrome" >
        <parameter name="browserName" value="chrome" />    
 <classes>
            <class name="com.runner.RunnerTestInChrome"/>
        </classes>
    </test>
</suite> <!-- Suite -->

我创建了2个用于chrome的类跑者,另一个用于firefox:

package com.runner;

    import org.junit.runner.RunWith;

    import cucumber.api.CucumberOptions;
    import cucumber.api.junit.Cucumber;
    import cucumber.api.testng.AbstractTestNGCucumberTests;

    @RunWith(Cucumber.class)
    @CucumberOptions(
             features = {"/features"},
             glue={"stepsdefinition"})
    public class RunnerTestInChrome extends AbstractTestNGCucumberTests {

    }

当我运行我的测试时,浏览器chrome已打开并关闭,但我不知道为什么它没有采用该功能中的url和步骤!

1 个答案:

答案 0 :(得分:0)

Afaik Cucumber不支持并行执行,您可能需要使用其他插件或需要使用gherkin with qaf。 qaf基于TestNG构建,用于功能测试自动化,提供浏览器管理,资源管理,数据驱动功能,带截图和命令日志的详细报告......

使用带有qaf的小黄瓜时,您的配置文件可能如下所示:

<suite name="run test in parallel Suite" parallel="tests" verbose="1" configfailurepolicy="continue" thread-count="2">
      <test name="Tests in FF">
            <parameter name="driver.name" value="firefoxDriver" />           
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>
      </test>
      <test name="Tests in Chrome">
            <parameter name="driver.name" value="chromeDriver"/>                      
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>
      </test>
</suite>

注意:如果您希望相应地并行设置parallel="methods"thread-count方案。

您可以从漫游step by step tutorial

开始