2015-09-15 2 views
3

Я использую Java/Selenium webdriver с testng для запуска моей автоматизации тестирования, у меня есть много автоматизированных проектов, каждый проект использует набор tests.xml, как я могу запустить два люкса или больше, в то же время на ту же машину, вот мой код для создания объекта driverInstance:Как запустить более одного набора для тестирования селена на одной машине

public WebDriver getDriverInstance(
            String Url, 
            String browser) throws MalformedURLException { 

    WebDriver driver = null; 
    URL url = new URL(Url); 
    if(browser.equals("firefox")) { 
     DesiredCapabilities capability = DesiredCapabilities.firefox(); 
     driver = new RemoteWebDriver(url, capability); 
    } else if(browser.equals("chrome")) { 
     DesiredCapabilities capability = DesiredCapabilities.chrome(); 
     driver = new RemoteWebDriver(url, capability); 
    } else if(browser.equals("IE")) { 
     DesiredCapabilities capability = DesiredCapabilities.internetExplorer(); 
     driver = new RemoteWebDriver(url, capability); 
    } 
    return driver; 
} 

ответ

4

Вы должны установить атрибут как параллельное = «испытание» в вашем TestNG XML

<suite name="Parallel test runs" parallel="tests" thread-count="2"> 

Параметр «Параллельный». Установите «тесты», потому что мы хотим, чтобы тесты выполнялись параллельно. Другим параметром является «количество потоков». Если он установлен в 2, будут открыты два браузера и первые два теста будут запущены из списка. Если количество потоков составляет 5, а пять браузеров будут открыты, и все пять тестов будут выполняться параллельно!

Для испытаний ваша структура testng.xml должна быть, как показано ниже: -

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Parallel test runs" parallel="tests" thread-count="2"> 

<test name="T_01"> 
    <classes> 
     <class name="testNG.Parallel.Test01" ></class> 
    </classes> 
</test> 

<test name="T_02"> 
    <classes> 
     <class name="testNG.Parallel.Test02" ></class> 
    </classes> 
</test> 

<test name="T_03"> 
    <classes> 
     <class name="testNG.Parallel.Test03" ></class> 
    </classes> 
</test> 

<test name="T_04"> 
    <classes> 
     <class name="testNG.Parallel.Test04" ></class> 
    </classes> 
</test> 

<test name="T_05"> 
    <classes> 
     <class name="testNG.Parallel.Test05" ></class> 
    </classes> 
</test> 

</suite> 

Если вы хотите запустить 2 класса параллельно

<suite name="Parallel test suite" parallel="classes" thread-count="2"> 

Для классов ваша структура testng.xml должна быть, как показано ниже : -

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Parallel test suite" parallel="classes" thread-count="2"> 
    <test name="Test 1"> 
    <classes> 
     <class name="com.parallel.TestParallelClassOne"/> 
     <class name="com.parallel.TestParallelClassTwo"/> 
    </classes> 
    </test> 
</suite> 

Теперь вам нужно добавить оба класса проекта в разные пакетов в одном проекте и использовать мою тестовую структуру 1 примера и добавить атрибут, как указано выше.

Как запустить два апартамента: -

<suite name="allSuites"> 
    <suite-files> 
    <suite-file path="suite1.xml" /> 
    <suite-file path="suite2.xml" /> 
    ... 
    </suite-files> 
</suite> 

Надеется, что это поможет вам :)

Вернитесь ко мне, если по-прежнему сталкиваются с каким-либо вопросом :)

+0

Привет Shubham, спасибо большим для вашего ответа, поэтому, согласно вашему ответу, единственными местами, которые я должен изменить, является набор тестов xml? а также мои тестовые примеры, выполняемые в соответствии с группами, в которых они находятся, и я могу указать имя проекта вместо имени класса, нет возможности сгруппировать все классы из одной группы, поскольку каждый проект имеет свои собственные зависимости. –

+0

Да, вам просто нужно изменить файл testng.xml. Нет, вы не можете передать проект, как я знаю, и даже для группы это зависит от того, как структурировать ваши тестовые файлы в соответствии с группой. –

+0

wc @AliHamadi ... Пожалуйста, примите ответ, если он работает для вас и не стесняйтесь повышать ... Это действительно поможет :) –

Смежные вопросы