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);
}
}
ありがとう:
もこれは私が現在、これらのブラウザを起動するため使用していコードスニペットです。それは有り難いです。
私はしましたそれを試してみましたが、テストを実行せずにfirefoxを起動します。別の考えがありますか? –