Проблема реализации сетки Selenium - не удается запустить параллельные браузеры - PullRequest
0 голосов
/ 07 декабря 2018

Это мой тестовый код XML-файла: Пожалуйста, посмотрите этот файл testNG

  <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
   <suite name="parallel tests" parallel="tests">
    <test name="IETest1">
        <parameter name="platform" value="Windows" />
        <parameter name="browser" value="InternetExplorer" />
        <parameter name="runmode" value="Local" />
        <classes>
            <class name="in.zest.MiTest.MiCreditTests"></class>
        </classes>
    </test>

    <test name="ChromeTest1">
        <parameter name="platform" value="Windows" />
        <parameter name="browser" value="chrome" />
        <parameter name="runmode" value="Local" />

        <classes>
            <class name="in.zest.MiTest.MiCreditTests" />
        </classes>
       </test>
 </suite> <!-- Suite -->

Тест:

@Parameters({ "platform","browser", "runmode" })
@BeforeMethod
public void beforeMethod(String platform, String browser, String runmode) `enter code here`throws MalformedURLException {
    report = Common.getExtentReport();
    test = report.startTest("MICreditTests");
    //driver = BrowserFactory.getBrowser(runmode, browser);
    RestAssured.baseURI = "https://zestmoney2.sandbox.mambu.com";

    DesiredCapabilities caps=new DesiredCapabilities();
    caps.setPlatform(Platform.WINDOWS);

    if(browser.equalsIgnoreCase("InternetExplorer"))
    {
        caps=DesiredCapabilities.internetExplorer();
        String hubURL="http://192.168.0.3:4447/wd/hub";
         driver=new RemoteWebDriver(new URL(hubURL),caps);
    }
    if(browser.equalsIgnoreCase("chrome"))
    {

        caps.setBrowserName(browser);
        //ChromeOptions defined
        ChromeOptions options=new ChromeOptions();
        options.merge(caps);
        String hubURL="http://192.168.0.3:4458/wd/hub";
         driver=new RemoteWebDriver(new URL(hubURL), options);

    }

     driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
     driver.manage().window().maximize();
}

Это скрипт для настройки:где я зарегистрировал два узла на узле Hub.one для Internet Explorer и 2-й для браузера Chrome.когда я пытаюсь выполнить.сначала он завершает выполнение в IE, затем начинает работу браузер Chrome.Пожалуйста, помогите мне, какой код мне нужно обновить, чтобы запустить оба браузера параллельно.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Проблема в вашем XML-файле.Добавьте структуру параллельных тестов и счетчик потоков для запуска параллельных тестов.ниже XML хорошо работает для меня.Примечание: из-за времени загрузки драйвера наблюдается небольшой временной разрыв.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Login Related Tests" parallel="tests" thread-count="4">
    <test name="Chrome login Test"  parallel="tests" preserve-order="true" group-by-instances="false" >
        <parameter name="browser" value="Chrome" />
        <parameter name="URL" value="AdminURL"/>
        <parameter name="Env" value="QA"/>
        <classes>
            <class name="tests.Login"/>
        </classes>
    </test>
    <test name="Firefox Login Test" parallel="tests" preserve-order="true" group-by-instances="false" >
        <parameter name="browser" value="Firefox" />
        <parameter name="URL" value="AdminURL"/>
        <parameter name="Env" value="QA"/>
        <classes>
            <class name="tests.Login"/>
        </classes>
    </test>
</suite>
0 голосов
/ 07 декабря 2018

В вашем testng.xml отсутствует параметр 'thread-count'.Измените его, как показано ниже

<suite name="parallel tests" parallel="tests" thread-count="2">
...