Как передать параметр webSite экземплярам SeleniumGrid - PullRequest
1 голос
/ 02 декабря 2010

Я использую C # , MBunit и Селеновая сетка , и мне нужно запустить одни и те же сценарии для 3 различных сред Dev, QA и PROD. Я запускаю 3 различных пульта дистанционного управления в Selenium grid , но как я могу передать разные URL-адреса веб-сайтов этим экземплярам? Мне нужен один экземпляр для сайта Dev, другой для QA и другой для PROD.

1 Ответ

0 голосов
/ 30 декабря 2011

Это пример использования 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 для каждого выполнения теста.

Надеюсь, это поможет!

...