selenium grid tutorial
Увод у селенијску мрежу и како извршити унакрсна испитивања помоћу прегледача помоћу селенске мреже:
Сада смо близу краја овога свеобухватна серија водича о селену . Следеће недеље закључићемо ову мрежну серију Селениум Траининг туториалима „Процена напора пројеката Селениум“ и „Питања и одговори за интервју са Селениумом“.
Данас ћемо вас упознати са овим упутством Мрежа селена - а дистрибуирано извршавање теста окружење за убрзавање извршења тест полагања. Научите како да извршите унакрсна тестирања прегледача помоћу Селениум Грид.
Шта ћете научити:
- Шта је потребно за селенску мрежу?
- Предности селенске мреже
- Инсталирајте Селениум ГРИД
- Прегледник и чворови
- макИнсистанце
- макСессион
- Пример мрежног кода
- Конфигурација помоћу ЈСОН датотеке
- Закључак
- Препоручено читање
Шта је потребно за селенску мрежу?
Како пролазите кроз читав Водичи за Селениум ВебДривер сазнаћете да ће ВебДривер извршавати ваше тест случајеве на једној машини.
Ево неколико проблема са таквом поставком:
- Шта ако желите да извршите своје тест случајеве за различите оперативне системе?
- Како покренути тест случајеве у другој верзији истог прегледача?
- Како покренути тест случајеве у више прегледача?
- Зашто би сценарио требао чекати извршење других тест случајева, чак и ако не зависи од било ког тест случаја?
Сви ови проблеми су решени у програму Селениум ГРИД.
Како настављамо са курсом Селениум, стећи ћемо идеју о томе како можемо превазићи ове проблеме. У основи, Грид архитектура се заснива на мастер-славе архитектури. Главна машина дистрибуира тест случајеве различитим подређеним машинама.
Доступне су 2 верзије мреже. Селениум Грид 2.0 је најновије решење компаније Селениум. Селениум 1.0 је била ранија верзија. Већина стручњака за Селениум преферира коришћење Селениум Грид 2.0 јер је опремљен новим функцијама. Селениум Грид 2.0 подржава скрипте Селениум РЦ и Селениум ВебДривер.
Препоручени алат:
# 1) ЛамбдаТест
Извршите тестирање аутоматизације Селениум на скалабилној, сигурној и поузданој мрежи Селениум заснованој на облаку. Убрзајте аутоматизацију селена за тестирање, истовремено повећавајући покривеност тестом тестирањем на мрежној инфраструктури од 2000+ рачунара и окружења мобилних прегледача.
Предложено читање = >> Аутоматизујте тестирање прегледача помоћу ЛамбдаТест-а
Предности селенске мреже
- Селениум Грид даје флексибилност за дистрибуцију тест случајева ради извршења.
- Смањује време обраде серије.
- Може да врши тестирање у више прегледача.
- Може да врши тестирање на више оперативних система.
Основна терминологија селенске мреже:
Хуб : Хуб је централна тачка целокупне ГРИД архитектуре која прима све захтеве. У селеновој мрежи постоји само једно чвориште. Хуб дистрибуира тест случајеве по сваком чвору.
Чвор : У Грид-у може бити више чворова. Тестови ће се изводити у чворовима. Сваки чвор комуницира са чвориштем и врши му додељени тест.
Инсталирајте Селениум ГРИД
Корак 1 : Преузмите датотеку јар селениум сервера са званичне веб локације Селениум, која је раније била позната као Селениум РЦ Сервер, и сачувајте је на било ком месту на локалном диску.
УРЛ адреса селена ХК: хттп://ввв.селениумхк.орг/довнлоад/
Корак 2 : Отворите командну линију и идите до фасцикле у којој се налази сервер. Покрените сервер помоћу наредбе испод
јава -јар селениум-сервер-стандалоне-2.41.0.јар -роле хуб
Чвориште ће подразумевано користити порт 4444. Овај порт се може променити додавањем другог броја порта у командну линију под условом да је порт отворен и да му није додељен задатак.
Статус се може проверити помоћу веб интерфејса: хттп: // лоцалхост: 4444 / грид / цонсоле
3. корак : Идите на другу машину на којој намеравате да подесите чворове. Отворите командну линију и покрените доњу линију.
java -jar selenium-server-standalone-2.41.0.jar -role node -hub http://localhost:4444/grid/register -port 5556
Покрените сервер селена на другим машинама да бисте покренули чворове.
Прегледник и чворови
Након покретања чворишта и чворова на свакој машини када ћете прећи на ГРИД конзолу
Пронаћи ћете 5 Цхроме, 5 Фирефок и 1 ИЕ претраживач у одељку Прегледник, као у наставку.
То указује на то да подразумевано можете да користите 5 Цхроме, 5 Фирефок и 1 ИЕ прегледач.
На пример, ако желите да користите само ИЕ, чвор можете покренути помоћу наредбе испод:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=iexplore
Проверите тип прегледача заједно са осталим детаљима у ГРИД Цонсоле кликом на виев цонфиг .
Слично за Фирефок:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox
За Цхроме:
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=chrome
Постоји неколико сценарија у којима ће вам можда требати прегледач сваке врсте, тј. ИЕ, Цхроме и Фирефок.
На пример, можда ћете морати да користите 1 ИЕ и 1 Фирефок и 1 Цхроме прегледач
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
макИнсистанце
макИнстанце се користи за ограничавање броја иницијализације прегледача у чвору.
На пример, ако желите да радите са 2 Фирефок и 2 ИЕ, чвор можете да покренете помоћу макИнстанце.
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 5556 -browser browserName=firefox,maxInstance=3
Максимална инстанца се може проверити на картици конфигурације.
Слично томе, друге инстанце прегледача могу се конфигурисати помоћу макИнстанце.
макСессион
макСессион се користи за подешавање броја прегледача који се могу паралелно користити у удаљеном систему.
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
Слично томе, можете покренути више чворова и конфигурација се може проверити у конзоли.
НОДЕ1:
НОДЕ2:
Пример мрежног кода
Овде сам користио ТестНГ за покретање примера ГРИД тест случаја.
Предуслов : Направите чвориште и чворове како је раније објашњено, а ТестНГ треба конфигурисати у ецлипсе-у.
Овде сам узео узорак теста за пријаву на Гмаил и унос корисничког имена и лозинке
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(); }
Као у примеру, морате да користите РемотеВебДривер ако користите ГРИД, а прегледачу морате да пружите могућности. Морате подесити прегледач и платформу као горе.
нове функције у јави 8 са примерима
У овом примеру сам користио платформу као ВИНДОВС. Можете користити било коју платформу према вашим захтевима.
Верзија прегледача се такође може поставити употребом др.сетВерсион („верзија“)
Као инстанцу, овај тест требате покренути серијски у више прегледача, а конфигурисање тестнг.кмл морате да подесите. Испод је тестнг.КСМЛ пакет за горњи тест да бисте серијски покренули тест.
Да бисте паралелно покренули тест, морате да промените тестнг.кмл као доле.
Овде у тестнг.КСМЛ морате навести параметар као парллел = „Тестови“ и нит-цоунт = '3' описује максималан број нити које треба извршити паралелно.
Конфигурација помоћу ЈСОН датотеке
Мрежа се такође може покренути заједно са њеном конфигурацијом помоћу ЈСОН конфигурационе датотеке.
Направите ЈСОН датотеку за конфигурацију испод. Овде сам креирао ЈСОН датотеку названу грид_хуб.јсон
{ '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 }
Покрените чвориште помоћу наредбе испод
јава -јар селениум-сервер-стандалоне-2.41.0.јар -роле хуб –хубЦонфиг грид_хуб.јсон
Слично томе, креирајте различиту јсон датотеку за различите чворове према потребној конфигурацији.
Ево примера ЈСОН конфигурационе датотеке за чвор назван грид_ноде.јсон
{ '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, } }
За покретање чвора
јава -јар селениум-сервер-стандалоне-2.41.0.јар -роле рц –нодеЦонфиг грид_ноде.јсон
У ЈСОН датотеци можете променити сву конфигурацију прегледача, макИнстанце, порт, макСессион итд.
Верзију прегледача, платформу можете да наведете у ЈСОН датотеци за конфигурацију, као у наставку:
{
„БровсерНаме“: „цхроме“, „версион“: „8“, „платформ“: „Виндовс“
}
Закључак
Препоручљиво је да користите Селениум Грид када морате да извршите тестирање у више прегледача и имате велики број тест случајева.
У овом модулу смо описали како поставити Грид чвориште и чворове, као и како покренути Грид тест случајеве користећи тестнг.КСМЛ и ЈСОН датотеку.
Следећи водич # 30 : Испитивање аутоматизације помоћу алата селена и краставца . Краставац је БДД тестирање оруђе и Оквир. Научићемо карактеристике алата Краставац и његову употребу у сценаријима у реалном времену, укључујући како интегрисати Селениум ВебДривер са краставцем .
Молимо вас да објавите своја питања везана за Селениум Грид у коментарима испод.
Препоручено читање
- Водич за Доцкер Селениум: Како интегрисати мрежу Селениум у Доцкер
- Испитивање аутоматизације помоћу алата за краставце и селена - Туториал бр. 30
- Водич за краставац селенијум: Интеграција Јава Селениум ВебДривер краставца
- Споцк за интеграцију и функционална испитивања са селеном
- Дубински водичи за помрачење за почетнике
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Водич за Геб - Тестирање аутоматизације прегледача помоћу алата Геб
- Водич за КА Паррот: Преглед алата за тестирање више прегледача