Это пример использования TestNG .В вашем файле / скрипте модульного тестирования у вас будет что-то похожее на это:
public class LoginTest {
private static final HUB_URL = "http://theGridHubServer/wd/hub";
@Parameters({ "appUrl" })
public void loginTest(@Optional("http://theTestServer/login/") final String appUrl) {
// ... create RemoteWebDriver object / connections / capabilities here and execute test
}
Чтобы выполнить их параллельно, вам нужно настроить XML-файл конфигурации TestNG, который будет выглядеть примерно так:
<suite name="Login Test Suite" parallel="tests" verbose="1" thread-count="8">
<test name="Dev">
<parameter name="appUrl" value="http://theDevServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
<test name="QA">
<parameter name="appUrl" value="http://theTestServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
</test>
<test name="Prod">
<parameter name="appUrl" value="http://theProdServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
</suite>
Затем вы запускаете файл XML в качестве теста TestNG, и при условии, что у вас есть как минимум три клиентских узла Webdriver с возможностями, соответствующими вашему определенному WebDriver, эти три теста будут отправлены в концентратор,который затем отправит их параллельно клиентским узлам, которые будут использовать разные URL для каждого выполнения теста.
Надеюсь, это поможет!