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网格的情况下,并行执行是可能的吗?或者(只有testNG就足够了?)_Selenium_Automation_Webdriver_Testng_Selenium Grid - Fatal编程技术网

在没有selenium网格的情况下,并行执行是可能的吗?或者(只有testNG就足够了?)

在没有selenium网格的情况下,并行执行是可能的吗?或者(只有testNG就足够了?),selenium,automation,webdriver,testng,selenium-grid,Selenium,Automation,Webdriver,Testng,Selenium Grid,我是SeleniumWebDriver的初学者。因此,对于并行执行,我们通常在xml文件中进行更改,如parallel=“methods”thread count=“3”,我的疑问是: 没有selenium网格,并行执行是否可行? 或者只有testNG就足够了?是的,使用testNG的@Parameters(“browser”)。示例代码如下所示 @Parameters ("browser") public void test(String browserName) { if(

我是SeleniumWebDriver的初学者。因此,对于并行执行,我们通常在xml文件中进行更改,如
parallel=“methods”thread count=“3”
,我的疑问是:

没有selenium网格,并行执行是否可行? 或者只有testNG就足够了?

是的,使用testNG的@Parameters(“browser”)。示例代码如下所示

 @Parameters ("browser")
  public void test(String browserName) {
      if(browserName.equalsIgnoreCase("firefox")){
          driver = new FirefoxDriver();

      } else if (browserName.equalsIgnoreCase("chrome")){
          System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\chromedriver.exe" );
          driver = new ChromeDriver();
      }
  }
然后在testng.xml中编写测试。使用parallel选项并提及参数值。。示例代码如下所示

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite789787" parallel="tests">
  <test name="FFTest98798">
  <parameter name="browser" value="firefox"/>   

  <classes>
    <class name ="crossbrowsertest.VerifyTitle" >
    </class>
  </classes>
  </test> <!-- Test -->

  <test name="ChromeTest8999">
    <parameter name="browser" value="chrome"/>  

  <classes>
    <class name ="crossbrowsertest.VerifyTitle" >
    </class>
  </classes>
  </test>   <!-- Test -->
</suite> <!-- Suite -->


希望这对使用TestNg的@Parameters(“browser”)有所帮助。。示例代码如下所示

 @Parameters ("browser")
  public void test(String browserName) {
      if(browserName.equalsIgnoreCase("firefox")){
          driver = new FirefoxDriver();

      } else if (browserName.equalsIgnoreCase("chrome")){
          System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\chromedriver.exe" );
          driver = new ChromeDriver();
      }
  }
然后在testng.xml中编写测试。使用parallel选项并提及参数值。。示例代码如下所示

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite789787" parallel="tests">
  <test name="FFTest98798">
  <parameter name="browser" value="firefox"/>   

  <classes>
    <class name ="crossbrowsertest.VerifyTitle" >
    </class>
  </classes>
  </test> <!-- Test -->

  <test name="ChromeTest8999">
    <parameter name="browser" value="chrome"/>  

  <classes>
    <class name ="crossbrowsertest.VerifyTitle" >
    </class>
  </classes>
  </test>   <!-- Test -->
</suite> <!-- Suite -->



希望这有帮助是的,您可以在没有网格的情况下并行运行UI测试,或者直接使用selenium网格节点,而不使用hub。TestNG中的每个线程都将打开额外的浏览器窗口,但如果应用程序将作为一个用户会话管理来自主机的所有连接,则会出现不可预测的问题。

是的,您可以在没有网格的情况下并行运行UI测试,也可以在没有集线器的情况下直接使用selenium网格节点。TestNG中的每个线程都将打开额外的浏览器窗口,但当应用程序将主机上的所有连接作为一个用户会话进行管理时,您将遇到不可预测的问题