selenium grid tutorial
Въведение в Selenium Grid и как да извършите тестване на различни браузъри с помощта на Selenium Grid:
Сега сме близо до края на това изчерпателна серия уроци за селен . Следващата седмица ще завършим тази онлайн серия за обучение по Selenium с уроци „Оценка на усилията на проекти за Selenium“ и „Въпроси и отговори за интервю за Selenium“.
Днес в този урок ще ви запознаем с Решетка от селен - a разпределено изпълнение на теста среда за ускоряване на изпълнението на тест. Научете как да извършвате кръстосано тестване на браузъра с помощта на Selenium Grid.
Какво ще научите:
- Каква е необходимостта от селеновата решетка?
- Ползи от селеновата решетка
- Инсталирайте селен GRID
- Браузър и възли
- maxInsistance
- maxSession
- Примерен мрежов код
- Конфигуриране с помощта на JSON файл
- Заключение
- Препоръчително четене
Каква е необходимостта от селеновата решетка?
Като преминете през цялото Уроци за селен WebDriver ще разберете, че WebDriver ще изпълнява вашите тестови случаи на една машина.
Ето няколко проблема с такава настройка:
- Ами ако искате да изпълните вашите тестови случаи за различни операционни системи?
- Как да стартирате тестовите си случаи в различната версия на един и същ браузър?
- Как да стартирате тестовите си случаи в множество браузъри?
- Защо даден сценарий трябва да чака изпълнението на други тестови случаи, дори и да не зависи от тестови случаи?
Всички тези проблеми са разгледани в Selenium GRID.
Докато продължаваме с курса по Селен, ще добием представа за това как можем да преодолеем тези проблеми. По принцип, Grid архитектурата се основава на архитектура master-slave. Главната машина разпределя тестови случаи на различни подчинени машини.
Налични са 2 версии на Grid. Selenium Grid 2.0 е най-новото от Selenium. Селен 1.0 беше по-ранната версия. Повечето експерти по Selenium предпочитат да използват Selenium Grid 2.0, тъй като той е пълен с нови функции. Selenium Grid 2.0 поддържа скриптове Selenium RC и Selenium WebDriver.
Препоръчан инструмент:
# 1) LambdaTest
Извършете тестове за автоматизация на Selenium на мащабируема, сигурна и надеждна базирана на облак Selenium Grid онлайн. Ускорете автоматизацията си за тестване на Selenium, като същевременно увеличите покритието на тестовете си, като тествате на онлайн инфраструктура от 2000+ настолни и мобилни среди за браузъри.
Предложено четене = >> Автоматизирайте тестването на браузъра с LambdaTest
=> Посетете уебсайта на LambdaTest
Ползи от селеновата решетка
- Selenium Grid дава гъвкавост за разпределяне на вашите тестови случаи за изпълнение.
- Намалява времето за партидна обработка.
- Може да извършва тестване с множество браузъри.
- Може да изпълнява тестове с много операционни системи.
Основна терминология на селеновата решетка:
Хъб : Hub е централната точка на цялата архитектура на GRID, която получава всички заявки. В селеновата мрежа има само един хъб. Hub разпределя тестовите случаи във всеки възел.
Възел : В Grid може да има множество възли. Тестовете ще се изпълняват в възли. Всеки възел комуникира с концентратора и изпълнява зададен за него тест.
Инсталирайте селен GRID
Етап 1 : Изтеглете файла от jar на Selenium Server от официалния уебсайт на Selenium, който преди е бил известен като Selenium RC Server и го запазвайте на всяко място на локалния диск.
URL адрес на селена HQ: http://www.seleniumhq.org/download/
Стъпка 2 : Отворете командния ред и отидете до папка, където се намира сървърът. Стартирайте сървъра, като използвате командата по-долу
java -jar селен-сървър-самостоятелен-2.41.0.jar-роли хъб
По подразбиране концентраторът ще използва порта 4444. Този порт може да бъде променен чрез предаване на различния номер на порт в командния ред, при условие че портът е отворен и не му е възложена задача.
Състоянието може да се провери с помощта на уеб интерфейса: http: // localhost: 4444 / grid / console
Стъпка 3 : Отидете до другата машина, където възнамерявате да настроите възли. Отворете командния ред и стартирайте долния ред.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Стартирайте селеновия сървър в други машини, за да стартирате възли.
Браузър и възли
След стартиране на хъб и възли на всяка машина, когато ще отидете до GRID Console
Ще намерите 5 Chrome, 5 Firefox и 1 IE браузър в раздела Браузър, както по-долу.
Това показва, че по подразбиране можете да използвате 5 Chrome, 5 Firefox и 1 IE браузър.
Например, ако искате да използвате само IE, можете да стартирате възела, като използвате командата по-долу:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
Проверете типа на браузъра заедно с други подробности в GRID Console, като кликнете върху преглед на конфигурацията .
По същия начин за Firefox:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox
За Chrome:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome
Има няколко сценария, при които може да ви е необходим браузърът от всеки тип, т.е.: IE, Chrome и Firefox.
Например може да се наложи да използвате 1 IE и 1 Firefox и 1 браузър Chrome
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore -browser browserName=firefox -browser browserName=chrome
maxInsistance
maxInstance се използва за ограничаване на броя инициализации на браузъра в възел.
Например, ако искате да работите с 2 Firefox и 2 IE, тогава можете да стартирате възела, използвайки maxInstance.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox,maxInstance=3
Максималният екземпляр може да бъде проверен в раздела за конфигуриране.
По същия начин други екземпляри на браузъра могат да бъдат конфигурирани с помощта на maxInsistance.
maxSession
maxSession се използва за конфигуриране на броя на браузърите, които могат да се използват паралелно в отдалечената система.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome,maxInstance=3 -browser browserName=firefox,maxInstance=3 –maxSession 3
По същия начин можете да стартирате множество възли и конфигурацията може да бъде проверена в конзолата.
NODE1:
NODE2:
Примерен мрежов код
Тук използвах TestNG, за да стартирам примерен GRID тест.
Предпоставка : Създайте концентратор и възли, както е обяснено по-рано и TestNG трябва да бъде конфигуриран в eclipse.
Тук взех примерен тест за влизане в Gmail и въвеждане на потребителско име и парола
public class GridExample { @Test public void mailTest() throws MalformedURLException{ DesiredCapabilities dr=null; if(browserType.equals('firefox')){ dr=DesiredCapabilities.firefox(); dr.setBrowserName('firefox'); dr.setPlatform(Platform.WINDOWS); }else{ dr=DesiredCapabilities.internetExplorer(); dr.setBrowserName('iexplore'); dr.setPlatform(Platform.WINDOWS); } RemoteWebDriver driver=new RemoteWebDriver(new URL('http://localhost:4444/wd/hub'), dr); driver.navigate().to('http://gmail.com'); driver.findElement(By.xpath('//input[@id='Email']')) .sendKeys('username'); driver.findElement(By.xpath('//input[@id='Passwd']')) .sendKeys('password'); driver.close(); }
Както в примера, трябва да използвате RemoteWebDriver, ако използвате GRID и трябва да предоставите възможности на браузъра. Трябва да настроите браузъра и платформата, както по-горе.
най-добрите сайтове за гледане на аниме
В този пример използвах платформата като WINDOWS. Можете да използвате всяка платформа според вашите изисквания.
Версия на браузъра може да бъде зададена и с помощта на dr.setVersion („версия“)
За пример, трябва да стартирате този тест последователно в множество браузъри, трябва да конфигурирате вашия testng.xml. По-долу е testng.XML пакет за горния тест, за да стартирате своя тест серийно.
За да стартирате теста паралелно, трябва да промените testng.xml както по-долу.
Тук в testng.XML трябва да посочите параметъра като парлел = „Тестове“ и преброяване на конци = '3' описва максималния брой нишки, които трябва да бъдат изпълнени паралелно.
Конфигуриране с помощта на JSON файл
Мрежата също може да бъде стартирана заедно с нейната конфигурация с помощта на JSON конфигурационен файл.
Създайте JSON файл за конфигурация по-долу. Тук създадох JSON файл, наречен grid_hub.json
{ 'host': null, 'port': 4444, 'newSessionWaitTimeout': -1, 'servlets' : [], 'prioritizer': null, 'capabilityMatcher': 'org.openqa.grid.internal.utils.DefaultCapabilityMatcher', 'throwOnCapabilityNotPresent': true, 'nodePolling': 5000, 'cleanUpCycle': 5000, 'timeout': 300000, 'maxSession': 5 }
Стартирайте концентратора, като използвате командата по-долу
java -jar selenium-server-standalone-2.41.0.jar -role hub –hubConfig grid_hub.json
По същия начин създайте различен json файл за различни възли според необходимата конфигурация.
Ето пример за JSON конфигурационен файл за възел, наречен grid_node.json
{ 'capabilities': [ { 'browserName': 'chrome', 'maxInstances': 2 }, { 'browserName': 'firefox', 'maxInstances': 2 }, { 'browserName': 'internet explorer', 'maxInstances': 1 } ], 'configuration': { 'nodeTimeout':120, 'port':5555, 'hubPort':4444, 'hubHost':'localhost', 'nodePolling':2000, 'registerCycle':10000, 'register':true, 'cleanUpCycle':2000, 'timeout':30000, 'maxSession':5, } }
За да стартирате възела
java -jar селен-сървър-самостоятелен-2.41.0.jar -role rc –nodeConfig grid_node.json
Можете да промените цялата конфигурация на браузър, maxInsistance, порт, maxSession и т.н. във JSON файла.
Можете да предоставите версия на браузъра, платформата в конфигурационния файл JSON, както по-долу:
{
„BrowserName“: „chrome“, „version“: „8“, „platform“: „Windows“
}
Заключение
Препоръчително е да използвайте Selenium Grid, когато трябва да извършите тестване с множество браузъри и имате голям брой тестови случаи.
В този модул разгледахме как да настроим Grid hub и възли, както и как да стартираме Grid тестови случаи, използвайки testng.XML и JSON файл.
Следващ урок # 30 : Тестване за автоматизация с инструмент за селен и краставици . Краставица е BDD тестване инструмент и рамка. Ще научим характеристиките на инструмента за краставици и неговото използване в сценарии в реално време, включително как да интегрирам Selenium WebDriver с краставица .
Моля, публикувайте вашите запитвания, свързани със Selenium Grid, в коментарите по-долу.
Препоръчително четене
- Урок за Docker Selenium: Как да интегрираме Selenium Grid с Docker
- Автоматизирано тестване с помощта на инструмент за краставици и селен - Урок № 30
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Spock за интеграция и функционални тестове със селен
- Уроци за задълбочено затъмнение за начинаещи
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Урок за Geb - Тестване за автоматизация на браузъра с помощта на Geb Tool
- Parrot QA Tutorial: Преглед на инструмента за функционално тестване на различни браузъри