ПАРАЛЛЕЛЬНОЕ ВЫПОЛНЕНИЕ ТЕСТА В TESTNG [ПАРАЛЛЕЛЬНОЕ ВЫПОЛНЕНИЕ И МНОГОПОТОЧНОСТЬ]

Параллельное выполнение тестов в TestNG:

Существуют ситуации, когда мы хотим запустить несколько тестов в одном или разных браузерах одновременно. В таких случаях мы можем использовать атрибут «parallel» в testng.xml для выполнения параллельного выполнения теста в TestNG.

Смотреть: кросс-браузерное тестирование в Selenium с использованием BrowserStack

атрибут тега набора может принимать четыре значения:

tests – все тестовые примеры внутри тега <test> файла testng.xml будут запускать параллельные

классы. – Все тестовые примеры внутри класса Java будут выполняться параллельно

методами – Все методы с аннотацией @Test будут выполняться параллельно

< p>экземпляры. Тестовые случаи в одном и том же экземпляре будут выполняться параллельно, но два метода двух разных экземпляров будут выполняться в разных потоках.

давайте посмотрим на пример выполнения параллельного теста в TestNG.

В приведенной ниже программе я использовал два метода. Первый метод открывает драйвер Firefox, переходит на https://www.softwaretestingmaterial.com и закрывает браузер. Второй метод открывает драйвер Chrome и переходит к тому же URL-адресу и закрывает браузер. o-tab-size:4;-webkit-tab-size:4;tab-size:4;размер шрифта:12px!важно;line-height:15px!важно>пакет программного обеспечения TestingMaterial; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.chrome.ChromeDriver; импортировать org.openqa.selenium.firefox.FirefoxDriver; импортировать org.testng.annotations.Test; public class ParallelTests { @Test public void getFirefox(){ //System.setProperty("webdriver.gecko.driver", "geckodriver.exe path"); System.setProperty("webdriver.gecko.driver", "D://Selenium Environment//Drivers//geckodriver.exe"); System.out.println("Метод GetFirefox выполняется в потоке: " + Thread.currentThread().getId()); Драйвер WebDriver = новый FirefoxDriver(); driver.get("https://www.softwaretestingmaterial.com"); водитель.закрыть(); } @Test public void getChorme(){ //System.setProperty("webdriver.chrome.driver", "путь chromedriver.exe"); System.setProperty("webdriver.chrome.driver", "D://Selenium Environment//Drivers//chromedriver.exe"); System.out.println("Метод GetChrome выполняется в потоке: " + Thread.currentThread().getId()); Драйвер WebDriver = новый ChromeDriver(); driver.get("https://www.softwaretestingmaterial.com"); водитель.закрыть(); } }

123456789101112131415161718192021222324252627282930

пакет программного обеспечения TestingMaterial; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org.openqa.selenium.firefox.FirefoxDriver; импорт org.testng.annotations.Test; public class ParallelTests {@Testpublic void getFirefox(){               //System.setProperty(“webdriver.gecko.driver”, “geckodriver.exe path”); System.setProperty(“webdriver.gecko.driver”, “D://Selenium Environment//Драйверы//geckodriver.exe”); System.out.println(“Метод GetFirefox выполняется в потоке: ” + Thread.currentThread().getId()); Драйвер WebDriver = new FirefoxDriver();driver.get(“https://www.softwaretestingmaterial.com” );driver.close();}@Testpublic void getChorme(){               //System.setProperty(“webdriver.chrome.driver”, “chromedriver.exe path”);System.setProperty(“webdriver.chrome.driver”, “D://Selenium Environment//Drivers//chromedriver.exe”); System.out.println(“Метод GetChrome выполняется в потоке: ” + Thread.currentThread().getId()); Драйвер WebDriver = new ChromeDriver();driver.get(“https://www.softwaretestingmaterial.com” );driver.close();} 

файл testng.xml без упоминания parallel атрибут:

123456789

<?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd”><suite name=”softwaretestingmaterial”>< ;test name=”testngTest”><classes><class name=”softwareTestingMaterial.ParallelTests” /></classes></test></suite>

После запуска testng.xml с использованием вышеуказанного кода вы сначала увидите браузер Firefox в действии, а затем драйвер Chrome в действии.

Чтобы запустить оба браузера параллельно, используйте приведенный ниже код в своем testng. Файл .xml.

123456789

<?xml version=”1.0″ encoding=”UTF-8″?><!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd”><suite name=”softwaretestingmaterial” parallel= “methods” thread-count=”2″><имя теста=”testngTest”><классы><имя класса=”softwareTestingMaterial.ParallelTests” /></classes></test></suite >

Запустив файл testng.xml с помощью приведенного выше кода, вы сможете увидеть работу обоих браузеров одновременно.

Здесь, в приведенном выше файле testng.xml, я передал parallel=methods и thread-count=2 на уровне пакета. Я хотел бы выполнять сценарии селена параллельно в разных потоках. В большинстве случаев эти два метода будут выполняться в разных потоках. Идентификатор потока может меняться при каждом запуске. Здесь мы просто передаем количество потоков, но мы не назначаем идентификатор потока, назначением идентификатора потока занимается ваш системный процессор.

Вы можете найти полный Учебное пособие по TestNG здесь.

Полное руководство по TestNG

Здесь я выбрал несколько сообщений, которые помогут вам узнать больше о том, что связано с собеседованием:

От QA genius

Adblock
detector