如何在功能黄瓜(stepsdefinition)和testng @test之间建立链接

时间:2018-04-16 16:20:02

标签: testing selenium-webdriver cucumber testng parallel-testing

我的问题是,我想在多个浏览器上并行运行功能黄瓜。 因此,我没有使用某项功能。我写了这个方法来并行运行测试:

public WebDriver driver;
    @Parameters("myBrowser")
    @BeforeClass
    public void launchBrowser(@Optional("optional value") String myBrowser) {
        if(myBrowser.equalsIgnoreCase("ie")) {
            System.setProperty("webdriver.ie.driver","C:\\Driver\\IEDriverServer\\IEDriverServer_32bits.exe");
            driver = new InternetExplorerDriver();
        }else if (myBrowser.equalsIgnoreCase("chrome")) {
            System.setProperty("webdriver.chrome.driver","C:\\Drive\\chromedriver_win32\\chromedriver.exe");
            driver= new ChromeDriver();
        }
        else if(myBrowser.equalsIgnoreCase("ff")) {
        System.setProperty("webdriver.gecko.driver","C:\\Drive\\geckodriver-v0.20.0-win64\\geckodriver.exe");
        driver = new FirefoxDriver();
        }
    }

在testng.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests">

  <test  name="IETest">
  <parameter name="myBrowser" value="ie" />


  <classes>
  <class name="com.testparallel.ParallelTesting.ParallelTestExecution" />
  </classes>
  </test> 

  <test  name="FirefoxTest">
  <parameter name="myBrowser" value="ff" />


  <classes>
  <class name="com.testparallel.ParallelTesting.ParallelTestExecution" />
  </classes>
  </test> 

  <test  name="ChromeTest">
    <parameter name="myBrowser" value="chrome" />


  <classes>
  <class name="com.testparallel.ParallelTesting.ParallelTestExecution" />
  </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

使用@Test的测试方法,但现在我想在@Test注释和特征黄瓜的方法之间进行整合或建立链接。 有没有解决的问题!

我认为Cucumber-jvm不能在不同的浏览器中运行我的意思是打开多个浏览器

这里我有2个功能,2步和2个跑步者。在脚本中我有两个类似的方法,所以我创建了Globalstep并在这里定义了它们,但是当我在2浏览器中运行时他们没有执行这些方法?

0 个答案:

没有答案