0

我如何使用 testNG 和 selenium 或 cucumber-JVM 运行 cucumber 功能我是新来的,但在我的研究之后,我认为 cucumber 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 -->

我为chrome创建了2个class runner,一个为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 和功能中的步骤!

4

1 回答 1

0

Afaik Cucumber 不支持并行执行,您可能需要使用额外的插件或需要将gherkin 与 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相应地运行。

您可以从逐步教程开始

于 2018-04-09T20:40:12.943 回答