0

TestNGを使用して、さまざまなブラウザで並列テストを実行します。 これは私のtestng.xmlです:クロスブラウザテスト - testng.xmlでテストの並列実行を設定する方法

<?xml version="1.0" encoding="UTF-8" ?> 
<suite name="Parallel Tests" verbose="2" parallel="tests" thread-count="4"> 

     <!--Set test parameters to execute test in Mozilla Firefox browser on Windows platform. --> 

     <test name="Linux+firefox Test1" parallel="classes" thread-count="2"> 

       <parameter name="platform" value="LINUX"/> 
       <parameter name="browser" value="firefox"/> 
       <parameter name="url" value="http://hh.de/"/> 
       <parameter name="version" value="58.0b7"/> 

      <classes> 
       <class name="suchen.Portalsuche"/> 
       <class name="suchen.HVV"/> 
      </classes> 
     </test> 

     <!-- Set test parameters to execute test in Google Chrome browser on Windows platform. --> 
     <test name="Linux+chrome Test1" parallel="classes" thread-count="2"> 

       <parameter name="platform" value="LINUX"/> 
       <parameter name="browser" value="chrome"/> 
       <parameter name="url" value="http://hh.de/"/> 
       <parameter name="version" value="62.0.3202.62"/> 

      <classes> 
       <class name="suchen.Portalsuche"/> 
       <class name="suchen.HVV"/> 
      </classes> 
     </test> 

</suite> 

それは最初のブラウザ(Mozilla Firefoxの)を起動しますが、それはどちらも2つのテストを実行することも、別のブラウザ(Google Chromeの)を起動しません。あなたの助けのための

@Parameters({ "platform", "browser", "url", "version" }) 
    @BeforeTest(alwaysRun = true) 
    public void setup(String platform, String browser, String url, String version) throws MalformedURLException { 
     DesiredCapabilities caps = new DesiredCapabilities(); 
     caps.setPlatform(org.openqa.selenium.Platform.LINUX); 
     System.setProperty("java.net.preferIPv4stack", "true"); 
     caps.setCapability("SeleniumTests", "redhat5 && amd64"); 

     if (browser.equalsIgnoreCase("firefox")) { 
      System.out.println("Executing on Firefox"); 
      String Hub = "http://localhost:4444/wd/hub"; 
      caps = DesiredCapabilities.firefox(); 
      caps.setBrowserName("firefox"); 
      System.setProperty("webdriver.gecko.driver", "/opt/geckodriver.exe"); 

      driver = new RemoteWebDriver(new URL(Hub), caps); 
      driver.manage().window().maximize(); 
      driver.navigate().to(url); 

     } else if (browser.equalsIgnoreCase("chrome")) { 
      System.out.println("Executing on Chrome"); 
      String Hub = "http://localhost:4444/wd/hub"; 
      caps = DesiredCapabilities.chrome(); 
      caps.setBrowserName("chrome"); 
      ChromeOptions options = new ChromeOptions(); 
      System.setProperty("webdriver.chrome.driver", "/opt/chromedriver.exe"); 
      caps.setCapability(ChromeOptions.CAPABILITY, options); 

      options.addArguments("--start-maximized"); 
      driver = new RemoteWebDriver(new URL(Hub), caps); 
      driver.navigate().to(url); 
     } 
    } 

ありがとう:

もこれは私が現在、これらのブラウザを起動するため使用していコードスニペットです。それは有り難いです。

答えて

0

2へのTestNG XMLは次のようになります テストタグレベルで並列属性を削除し、 スイートタグレベルでスレッド数をリセットします。

<?xml version="1.0" encoding="UTF-8" ?> 
<suite name="Parallel Tests" verbose="2" parallel="tests" thread-count="2"> 

     <!--Set test parameters to execute test in Mozilla Firefox browser on Windows platform. --> 

     <test name="Linux+firefox Test1" > 

       <parameter name="platform" value="LINUX"/> 
       <parameter name="browser" value="firefox"/> 
       <parameter name="url" value="http://hh.de/"/> 
       <parameter name="version" value="58.0b7"/> 

      <classes> 
       <class name="suchen.Portalsuche"/> 
       <class name="suchen.HVV"/> 
      </classes> 
     </test> 

     <!-- Set test parameters to execute test in Google Chrome browser on Windows platform. --> 
     <test name="Linux+chrome Test2" > 

       <parameter name="platform" value="LINUX"/> 
       <parameter name="browser" value="chrome"/> 
       <parameter name="url" value="http://hh.de/"/> 
       <parameter name="version" value="62.0.3202.62"/> 

      <classes> 
       <class name="suchen.Portalsuche"/> 
       <class name="suchen.HVV"/> 
      </classes> 
     </test> 

</suite> 
+0

私はしましたそれを試してみましたが、テストを実行せずにfirefoxを起動します。別の考えがありますか? –

関連する問題