Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 是否可以在不同的浏览器中并行运行功能_Selenium_Cucumber_Testng_Selenium Grid_Parallel Testing - Fatal编程技术网

Selenium 是否可以在不同的浏览器中并行运行功能

Selenium 是否可以在不同的浏览器中并行运行功能,selenium,cucumber,testng,selenium-grid,parallel-testing,Selenium,Cucumber,Testng,Selenium Grid,Parallel Testing,我在一个大项目中工作,我想在不同的浏览器中并行运行eature cucumber 我有步骤定义中的功能?webdriverfactory和共享首选项 我在webfactory中有这个方法,它可以工作,我编写了testng.xml public WebDriver driver; public static WebDriver get() { WebDriver driver = null ; System.setProperty("webdriver

我在一个大项目中工作,我想在不同的浏览器中并行运行eature cucumber 我有步骤定义中的功能?webdriverfactory和共享首选项

我在webfactory中有这个方法,它可以工作,我编写了testng.xml

 public WebDriver driver;
    public static WebDriver get() {
          WebDriver driver = null ;
        System.setProperty("webdriver.chrome.driver","D:\\Drive\\chromedriver_win32\\chromedriver.exe");
        driver= new ChromeDriver();
        return(driver);
    }


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


      <test  name="testie">
    <!--   <parameter name="myBrowser" value="ie" /> -->
        <classes>
          <class name="com.driver.WebDriverFactory"/>
        </classes>
      </test> <!-- Test -->


        <test  name="testchrome">
    <!--   <parameter name="myBrowser" value="chrome" /> -->
        <classes>
          <class name="com.driver.WebDriverFactory"/>
        </classes>

      </test> <!-- Test -->
    </suite> <!-- Suite -->
公共WebDriver;
公共静态WebDriver get(){
WebDriver=null;
System.setProperty(“webdriver.chrome.driver”,“D:\\Drive\\chromedriver\u win32\\chromedriver.exe”);
驱动程序=新的ChromeDriver();
返回(司机);
}
我不知道如何更改另一个方法,因为它没有任何要传递的参数,并且返回一个web驱动程序。 当我更改了其他类中的所有其他方法时,我发现它有问题 有什么建议吗。
黄瓜jvm可以在不同的浏览器中并行运行吗???或者在控制台中?

我认为,您需要在testng.xml中的方法和浏览器的参数类型中添加开关构造。
另外,正如我所知,并行执行只能在非静态驱动程序下工作。

您确实可以使用

运行测试时,可以设置一个系统属性,该属性将针对您希望并行使用的浏览器

管理驱动程序二进制文件的另一个有用库是

然后,可以使用以下命令指定运行时使用的浏览器:

System.setProperty(“浏览器”、“浏览器”)

VM选项-Dbrowser=“chrome”

我们正在使用,您可以使用一个或多个xml测试节点。您也可以并行运行场景。您不需要为驱动程序管理或其他常见的功能测试需求编写任何代码

<suite name="AUT Test Automation" verbose="0" parallel="methods">
      <test name="Tests on chrome">
            <parameter name="driver.name" value="chromeDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>
      </test>
      <test name="Tests FF">
            <parameter name="driver.name" value="firefoxDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>

      </test>
 </suite>


这有助于在不同的浏览器chrome和ie中并行运行我的功能,还是只在一个浏览器中运行?我使用cucumber JVM在同一浏览器中同时运行不同的功能。您只需创建2个runner类。然后同时执行两个runner类。实际上,您只需创建一个runner类并简单地运行两次,但要设置系统属性(例如:run1,您传递-Dbrowser=chrome,run2,您传递-Dbrowser=ie)
<suite name="AUT Test Automation" verbose="0" parallel="methods">
      <test name="Tests on chrome">
            <parameter name="driver.name" value="chromeDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>
      </test>
      <test name="Tests FF">
            <parameter name="driver.name" value="firefoxDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>

      </test>
 </suite>