top 25 selenium webdriver commands that you should know
Врхунске команде Селениум ВебДривер - феноменални водич за тестере аутоматизације
Селениум ВебДривер је један од најпопуларнијих алата за аутоматизацију веб страница отвореног кода. Већина мојих колега тестера аутоматизације преферира комбинацију ВебДривер-а и Јаве.
У овом упутству ћу размотрити 25 рутински коришћених наредби Селениум ВебДривер заједно са њиховом синтаксом и једноставним примерима за ваше лако разумевање.
Шта ћете научити:
- Врсте команди у ВебДриверу
- Топ 7 селенових команди са детаљима
- Списак 25 најпопуларнијих команди и примера ВебДривер
- # 1) гет ()
- # 2) гетЦуррентУрл ()
- # 3) финдЕлемент (Би, би) и кликните ()
- # 4) исЕнаблед ()
- # 5) финдЕлемент (Би, би) витх сендКеис ()
- # 6) финдЕлемент (Би, би) са гетТект ()
- # 7) Пошаљи ()
- # 8) финдЕлементс (Аутор, аутор)
- # 9) финдЕлементс (Би, би) са величином ()
- # 10) пагеЛоадТимеоут (време, јединица)
- # 11) имплицитноЧекај ()
- # 12) до () и висибилитиОфЕлементЛоцатед ()
- # 13) до () и алертИсПресент ()
- # 14) гетТитле ()
- # 15) Изаберите
- # 16) навигате ()
- # 17) гетСцреенсхотАс ()
- # 18) мовеТоЕлемент ()
- # 19) драгАндДроп ()
- # 20) свитцхТо () и аццепт (), дисмисс () анд сендКеис ()
- # 21) гетВиндовХандле () и гетВиндовХандлес ()
- # 22) гетЦоннецтион ()
- # 23) ОНДА
- # 24) ассертЕкуалс (), ассертНотЕкуалс (), ассертТруе () и ассертФалсе ()
- # 25) затвори () и затвори ()
- Закључак
- Препоручено читање
Врсте команди у ВебДриверу
У последњи туторијал за Селен , разговарали смо о различите врсте упозорења са којима се сусрећу приликом тестирања веб апликација и њихових ефикасних начина руковања. Опширно смо разговарали о обе врсте упозорења, тј. О „упозорењима заснованим на мрежи“ и „упозорењима заснованим на прозорима“. Такође смо вас упознали са још једним услужним програмом заснованом на Јави под називом „Робот Цласс“ за руковање искачућим прозорима заснованим на оперативном систему Виндовс.
Напредујући за ову серију водича за Селениум ВебДривер , притискали бисмо разне уобичајене и рутински коришћене команде Селениум ВебДривер . Прецизно ћемо и укратко разговарати о свакој од ових наредби Селениум како бисмо били способни да ефикасно користите ове наредбе кад год се појави ситуација.
Свака радна датотека за аутоматизацију Јава започиње стварањем референце веб прегледача који желимо да користимо како је поменуто у доњој синтакси.
Постоји неколико метода које су доступне из интерфејса Вебдривер. Овим методама се приступа променљивом инстанце возач у једноставном формату дривер.метходНаме (); . Сви ови пројекти аутоматизације укључују позивање ових метода и упоређивање и процену онога што заправо враћају.
Једноставно речено, команде Вебдривер можемо генерално класификовати као:
- Команде прегледача,
- Набавите команде,
- Команде за навигацију,
- Команде Вебелемент,
- Команде акције и
- Наредбе резултата.
Из контекста ручног тестирања, резултат теста, било ПАСС или ФАИЛ, одлучује се из наредби Ресулт, које обично упоређују очекиване и стварне резултате, а остали су кораци Тестцасе-а.
Топ 7 селенових команди са детаљима
Само да бисмо имали грубу идеју, разговарали бисмо о следећим наредбама Селениум ВебДривер и њиховим различитим верзијама:
- добити() методе
- Проналажење веза преко линкТект () и делимичниТекст ()
- Избором више ставки у падајућем падајућем менију
- Подношење обрасца
- Руковање ифрам-овима
- Близу() и одустати() методе
- Изузетак руковање
# 1) гет () методе
Наредба ВебДривер | Употреба |
---|---|
гетАттрибуте () | • Команда се користи за преузимање вредности наведеног атрибута • Команда захтева један параметар низа који се односи на атрибут чију вредност тежимо да знамо и као резултат враћа вредност низа. дривер.финдЕлемент (Би.ид ('финдИД')). гетАттрибуте ('валуе'); |
добити() | • Команда покреће нови прегледач и отвара се наведени УРЛ у инстанци прегледача • Команда узима један параметар типа стринг који је обично УРЛ апликације која се тестира • Корисницима Селениум ИДЕ наредба може изгледати врло налик отвореној команди дривер.гет ('хттпс://гоогле.цом'); |
гетЦласс () | Команда се користи за преузимање објекта Цласс која представља класу извршавања овог објекта дривер.гетЦласс (); |
гетЦуррентУрл () | • Команда се користи за проналажење УРЛ-а веб странице којој корисник тренутно приступа • Команда не захтева ниједан параметар и враћа вредност низа дривер.гетЦуррентУрл (); |
гетПагеСоурце () | • Команда се користи за проналажење извора странице веб странице којој корисник тренутно приступа • Команда не захтева ниједан параметар и враћа вредност низа • Команда се може користити са разним операцијама низа као што је цонтаинс () за утврђивање присуство наведене вредности низа боолеан резултат = дривер.гетПагеСоурце (). цонтаинс ('Стринг то финд'); |
гетТитле () | • Команда се користи за проналазак наслова веб странице на којој корисник тренутно ради. Враћа се нулти низ ако веб страница нема наслов • Команда не захтева ниједан параметар и враћа обрезану вредност низа Наслов низа = дривер.гетТитле (); |
гетТект () | • Команда се користи за преузимање унутрашњег текста наведеног веб елемента • Команда не захтева ниједан параметар и враћа вредност низа • Такође је једна од често коришћених команди за верификацију приказаних порука, ознака, грешака итд на веб страницама. Текст низа = дривер.финдЕлемент (Би.ид ('Текст')). ГетТект (); |
гетВиндовХандле () | • Команда се користи за решавање ситуације када имамо више од једног прозора за решавање. • Команда нам помаже да се пребацимо на новоотворени прозор и извршава радње у новом прозору. Корисник се такође може вратити на претходни прозор ако то жели. привате Стринг винХандлеБефоре; винХандлеБефоре = дривер.гетВиндовХандле (); дривер.свитцхТо (). виндов (винХандлеБефоре); |
гетВиндовХандлес () | • Команда је слична наредби „гетВиндовХандле ()“ са суптилном разликом што помаже у раду са више прозора, тј. Када морамо да имамо посла са више од 2 прозора. |
Фрагмент кода за „гетВиндовХандлес ()“ дат је у наставку:
public void explicitWaitForWinHandle(final WebDriver dvr, int timeOut, final boolean close) throws WeblivException { try { Wait wait = new WebDriverWait(dvr, timeOut); ExpectedCondition condition = new ExpectedCondition() { @Override public Boolean apply(WebDriver d) { int winHandleNum = d.getWindowHandles().size(); if (winHandleNum > 1) { // Switch to new window opened for (String winHandle : d.getWindowHandles()) { dvr.switchTo().window(winHandle); // Close the delete window as it is not needed if (close && dvr.getTitle().equals('Demo Delete Window')) { dvr.findElement(By.name('ok')).click(); } } return true; } return false; } };
# 2) Проналажење веза путем линкТект () и делимичногЛинкТект ()
Дозволите нам да приступимо „гоогле.цом“ и „абодека.цом“ користећи линкТект () и делимичниТект () методе ВебДривер-а.
Горе наведеним везама се може приступити помоћу следећих команди:
возач .финдЕлемент (Би.линкТект ( „Гоогле“ )). клик ();
возач .финдЕлемент (Би.линкТект ( АбодеКА )). клик ();
Команда проналази елемент помоћу текста везе, а затим кликните на тај елемент и тиме ће корисник бити преусмерен на одговарајућу страницу.
Горе наведеним везама се такође може приступити помоћу следећих команди:
возач .финдЕлемент (Би.партиалЛинкТект ( „Гоо“ )). клик ();
возач .финдЕлемент (Би.партиалЛинкТект ( „Пребивалиште“ )). клик ();
Горње две команде проналазе елементе засноване на поднизу везе која је дата у заградама, па делимично ЛинкТект () проналази веб елемент са наведеним поднизом, а затим га кликће.
# 3) Одабир више ставки у падајућем падајућем менију
Постоје првенствено две врсте падајућих менија:
- Падајући мени за један избор : Падајући мени који истовремено омогућава одабир само једне вредности.
- Вишеструки избор падајућег менија : Падајући мени који омогућава истовремено одабир више вредности.
Размотрите ХТМЛ код у наставку за падајући мени који истовремено може одабрати више вредности.
Red Green Yellow Grey
Исечак кода испод илуструје вишеструке изборе у падајућем менију.
// select the multiple values from a dropdown Select selectByValue = new Select(driver.findElement(By.id('SelectID_One'))); selectByValue.selectByValue('greenvalue'); selectByValue.selectByVisibleText('Red'); selectByValue.selectByIndex(2);
# 4) Слање обрасца
Већина или скоро све веб странице имају обрасце које треба попунити и предати током тестирања веб апликације. Корисник може наићи на неколико врста образаца као што су образац за пријаву, образац за регистрацију, образац за отпремање датотека, образац за креирање профила итд.
У ВебДриверу, корисник се користи методом која је посебно креирана за подношење обрасца. Корисник такође може да користи методу клика да кликне на дугме за слање као замену за дугме за слање.
Погледајте фрагмент кода испод горе наведеног обрасца „нови корисник“:
// enter a valid username driver.findElement(By. id ('username')).sendKeys('name'); // enter a valid email address driver.findElement(By. id ('email')).sendKeys('name@abc.com'); // enter a valid password driver.findElement(By. id ('password')).sendKeys('namepass'); // re-enter the password driver.findElement(By. id ('passwordConf')).sendKeys('namepass'); // submit the form driver.findElement(By. id ('submit')).submit();
Дакле, чим програмска контрола пронађе методу слања, она лоцира елемент и покреће прихвати() метода на пронађеном веб елементу.
# 5) Руковање ифрамовима
Док аутоматизујемо веб апликације, могу се догодити ситуације када се од нас захтева да радимо са више оквира у прозору. Стога је од програмера тест скрипте потребно да се пребацује између различитих оквира или ифрамеова.
Скраћеница уграђеног оквира као ифраме користи се за уметање другог документа у тренутни ХТМЛ документ или једноставно веб страницу у другу веб страницу омогућавањем гнежђења.
Размотрите следећи ХТМЛ код који има ифраме на веб страници:
Software Testing Help - iframe session
Горњи ХТМЛ код илуструје присуство уграђеног ифрамеа у други ифраме. Дакле, да би могао да приступи подређеном ифраме-у, корисник мора прво да оде до надређеног ифраме-а. Након извршавања потребне операције, од корисника се може тражити да се врати натраг до надређеног ифраме-а да би се бавио другим елементом веб странице.
Немогуће је ако корисник покуша директно да приступи детету ифраме-у, а да претходно не пређе на родитељски ифраме.
Изаберите ифраме по ид
возач .свитцхТо (). фраме ( ' ИД оквира ' );
Проналажење ифраме-а помоћу тагНаме
Док лоцира ифраме, корисник се може суочити са неким проблемом ако ифраме није додељен стандардним својствима. Лоцирање оквира и прелазак на њега постаје сложен процес. Да би решио ситуацију, кориснику се омогућава да лоцира ифраме помоћу методе тагНаме, слично начину на који проналазимо било који други веб елемент у ВебДривер-у.
дривер.свитцхТо (). фраме (дривер.финдЕлементс (Би.тагНаме („ифраме“). гет (0));
Горња команда лоцира први веб елемент са наведеним тагНаме и пребацује се на тај ифраме. „Гет (0) се користи за проналажење ифраме-а са вредношћу индекса.“ Дакле, у редовима са нашим ХТМЛ кодом, горња синтакса кода довела би до тога да се програмска контрола пребаци на „ПарентФраме“.
Проналажење ифраме-а помоћу индекса:
а) оквир (индекс)
дривер.свитцхТо (). фраме (0);
б) оквир (назив оквира)
дривер.свитцхТо (). фраме („назив оквира“);
ц) оквир (елемент ВебЕлемент)
Изаберите Родитељски прозор
дривер.свитцхТо (). дефаултЦонтент ();
Горња команда враћа корисника у оригинални прозор, тј. Из оба ифраме-а.
# 6) методе цлосе () и куит ()
У ВебДриверу постоје две врсте наредби за затварање инстанце веб прегледача.
а) затвори () : Метода цлосе () ВебДривер-а затвара прозор веб прегледача на којем корисник тренутно ради или можемо рећи и прозор којем тренутно приступа ВебДривер. Наредба нити захтијева било који параметар нити враћа било какву вриједност.
б) напустити () : За разлику од методе цлосе (), куит () метода затвара све прозоре које је програм отворио. Исто као и метода цлосе (), наредба нити захтијева било који параметар нити враћа било какву вриједност.
Погледајте доње исечке кода:
возач .Близу(); // затвара само један прозор којем тренутно приступа инстанца ВебДривер
возач .одустати(); // затвара све прозоре које је отворила инстанца ВебДривер
# 7) Руковање изузецима
Изузеци су услови или ситуације који неочекивано заустављају извршавање програма.
Разлози за такве услове могу бити:
- Грешке које је увео корисник
- Грешке које је генерисао програмер
- Грешке генерисане физичким ресурсима
Стога је за решавање ових неочекиваних услова концептуализовано руковање изузецима.
Што се тиче Јава кода који имплементирамо док аутоматизујемо веб апликацију, он може бити затворен у блок који је способан да обезбеди механизам за руковање погрешним условима.
Ухватити изузетак
Да бисмо уловили изузетак, користимо доњи блок кода
try{ // Protected block // implement java code for automation } catch (ExceptionName e) { // catch block - Catches the exceptions generated in try block without halting the program execution }
Ако се догоди било који изузетак у блоку проба / заштићеном блоку, тада извршење контролише блок хватања за одговарајући тип изузетка и прослеђује му изузетак без прекида извршења програма.
Више блокова улова
try{ //Protected block } catch (ExceptionType1 e) { // catch block } catch (ExceptionType2 e) { // catch block } catch (ExceptionType3 e) { // catch block }
У горњем коду, изузетак ће вероватно бити ухваћен у првом блоку улова ако се тип изузећа подудара. Ако се врста изузетка не подудара, тада се изузетак пребацује на други блок цатцх и трећи блоцк цатцх и тако све док се не посете сви блокови цатцх.
Услови ВебДривера и руковање изузецима
Када тежимо да верификујемо присуство било ког елемента на веб страници помоћу различитих условних команди ВебДривер-а, ВебДривер претпоставља да је веб елемент присутан на веб страници. Ако веб елемент није присутан на веб страници, условне наредбе бацају „НоСуцхЕлементПресентЕкцептион“. Стога, да бисмо избегли да изузеци зауставе извршавање програма, користимо механизме за руковање изузецима. Погледајте одломак кода у наставку:
WebElement saveButton = driver.findElement(By.id('Save')); try{ if(saveButton.isDisplayed()){ saveButton.click(); } } catch(NoSuchElementException e){ e.printStackTrace(); }
Списак 25 најпопуларнијих команди и примера ВебДривер
Доље је дата листа 25 најбољих рутински коришћених Вебдривер наредби које сваки испитивач аутоматизације мора знати.
Идемо детаљно кроз ове наредбе.
Даље читање => Водич за селениум ВебДривер
# 1) гет ()
Команда помоћу гет () за отварање УРЛ-а у тренутном прегледачу.
Команда у наставку отвориће наведену УРЛ адресу „хттпс://ввв.софтваретестингхелп.цом“ у прегледачу.
Синтакса:
driver.get('https://www.softwaretestinghelp.com');
Објашњење:
- Дођите до УРЛ адресе хттпс://ввв.софтваретестингхелп.цом
# 2) гетЦуррентУрл ()
Наредба помоћу гетЦуррентУрл () да бисте проверили да ли је УРЛ тачан.
Наредба у наставку добија тренутну УРЛ адресу у формату низа.
Синтакса:
подниз (0,0) јава
driver.getCurrentUrl();
Ову методу обично користимо у наредбама да бисмо проверили да ли смо прешли на праву страницу како се очекује. За то морамо користити Ассерт као што је приказано у наставку Пример .
Синтакса:
Assert.assertEquals(expectedUrl, driver.getCurrentUrl());
Где се очекујеУрл је УРЛ који се очекује у формату низа.
Објашњење:
- Проверите и проверите да ли је учитана УРЛ адреса иста и да ли је учитана тачна страница.
# 3) финдЕлемент (Би, би) и кликните ()
финдЕлемент (Би, би) и кликните () да бисте кликнули на било који елемент веб странице.
Метода финдЕлемент (Би, би) претражује и лоцира први елемент на тренутној страници, који се подудара са критеријумима датим као параметар. Ова метода се обично користи у наредбама за симулацију корисничких радњи попут клика, слања, уноса итд.
Наредба у наставку претражује и проналази први елемент на веб страници са ид-ом „субмит1“ и кликће на њега ако није покривен.
Синтакса:
driver.findElement(By.id('submit1')).click();
Елемент се може лоцирати помоћу ИД , Име , Класа Име , Означи име , Линк Тект & Текст делимичне везе , ЦСС Селецтор и Кс путања .
Објашњење:
- Потражите потребно дугме Пошаљи.
- Кликните на дугме.
Команда испод бира ставку из оквира са листом.
Синтакса:
WebElement roleDropdown = driver.findElement(By.id('name1'); roleDropdown.click();
Објашњење:
- Потражите и пронађите ставку листе под ИД-ом „наме1“.
- Кликните на ту ставку.
# 4) исЕнаблед ()
исЕнаблед () да провери да ли је елемент омогућен или онемогућен у програму Селениум ВебДривер.
Да бисмо проверили да ли је одређени елемент омогућен на веб страници, користимо методу исЕнаблед ().
Синтакса:
boolean textBox = driver.findElement(By.xpath('//input(@name='textbox1')')).isEnabled();
Објашњење:
- Проналази елемент на веб страници према кпатх-у и проверава да ли је елемент омогућен.
# 5) финдЕлемент (Би, би) витх сендКеис ()
финдЕлемент (Би, би) са сендКеис () за унос у поља обрасца.
Провера ваљаности образаца уношењем различитих корисничких уноса који су често потребни за тестирање аутоматизације. Користимо финдЕлемент (Би, би) за лоцирање поља и сендКеис () за унос одређеног садржаја у поље за уређивање.
Доле наведена команда користи локатор имена да пронађе поље обрасца и у њега упише „Аарон“.
Синтакса:
driver.findElement(By.name('name')).sendkeys('Aaron');
Објашњење:
- Потражите обавезно поље имена у обрасцу.
- Унесите вредност „Аарон“ у њу.
# 6) финдЕлемент (Би, би) са гетТект ()
финдЕлемент (Би, би) витх гетТект () за чување вредности циљаног веб елемента.
ГетТект () је метода која вам даје унутрашњи текст веб елемента. Преузми текст је текст унутар ХТМЛ тагова.
Доле наведени код проналази Елемент са тагНаме „селецт“ и узима текст унутар ознаке и чува га у падајућем менију променљиве. Сада се Стринг дропДовн може користити за даље акције унутар програма.
Синтакса:
String dropDown = driver.findElement(By.tagName('dropdown1')).getText();
Објашњење:
- Потражите обавезно поље у обрасцу који има тагНаме „дропдовн1“.
- Узмите текст унутар његове ХТМЛ ознаке.
- Чувајте текст у Стринг објекту „ДропДовн“.
# 7) Пошаљи ()
Пошаљите () да бисте послали веб образац.
Метода цлицк () о којој смо горе говорили може се користити за кликање на било које везе или дугмад. Субмит () је боља алтернатива цлицк () ако је елемент на који се кликће дугме субмит. Дугме за слање налази се унутар ХТМЛ ознаке „образац“, а тип дугмета је „пошаљи“ (а не „дугме“).
Пошаљите () олакшава живот аутоматским проналажењем дугмета и методе која се може додати било којем другом пољу попут имена или адресе е-поште. У случају клика, морамо користити методу финдЕлемент (Би, би) и одредити тачне локаторе.
У неким сценаријима где се радња врши преко елемената који нису дугме, субмит () ради и клик () неће.
Синтакса:
driver.findElement(By.xpath('//input(@name='comments')')).submit();
Објашњење:
- Пронађи елемент у датој путањи к са именом „коментари“.
- Пошаљите образац.
# 8) финдЕлементс (Аутор, аутор)
финдЕлементс (Би, би) да бисте добили листу веб елемената.
Понекад бисмо можда желели да одштампамо или извршимо неку радњу на листи веб елемената попут веза или поља за унос на веб страници. У таквом случају користимо финдЕлементс (Би, би).
Синтакса:
List allChoices = dropDown.findElements(By.xpath('.//fruitoption'));
Објашњење:
- Листа свих веб елемената са наведеним кпатх чува се на листи вебелемент аллЦхоицес.
# 9) финдЕлементс (Би, би) са величином ()
финдЕлементс (Би, би) са сизе () да провери да ли је елемент присутан.
финдЕлементс (Би, би) се може користити за проверу да ли је елемент стварно присутан на веб страници.
Наредба у наставку се користи ако желимо да провјеримо да ли је елемент са одређеним локатором присутан на веб страници. Ако је сизе ()! = 0, онда је елемент присутан.
Синтакса:
Boolean checkIfElementPresent= driver.findElements(By.xpath('//input(@id='checkbox2')')).size()!= 0;
Објашњење:
- Пронађи елемент наведен је у кпатх са ид ‘цхецкбок2’.
- Према величини листе елемената, логички цхецкИфЕлементПресент биће постављен на ТРУЕ или ФАЛСЕ.
# 10) пагеЛоадТимеоут (време, јединица)
пагеЛоадТимеоут (време, јединица) за подешавање времена учитавања странице.
Понекад због проблема са сервером или кашњења мреже учитавање странице може потрајати дуже него обично. Ово може довести до грешке у програму. Да бисмо то избегли, поставили смо време чекања и пагеЛоадТимеоут () је један од таквих метода. Ово ће обично следити наредбу гет ().
Синтакса:
driver.manage().timeouts().pageLoadTimeout(500, SECONDS);
Објашњење:
- Сачекајте 500 секунди да се страница учита.
# 11) имплицитноЧекај ()
имплицитлиВаит () да подеси време чекања пре претраживања и лоцирања веб елемента.
Шта се дешава ако Вебдривер покуша да пронађе елемент пре него што се веб страница учита и елемент се појави? Избациће се НоСуцхЕлементЕкептион. Да бисмо то избегли, можемо додати наредбу да имплицитно сачекамо одређено време пре лоцирања елемента.
Синтакса:
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
Објашњење:
- Имплицитно сачекајте 1000 секунди пре извршавања следеће линије у коду.
# 12) до () и висибилитиОфЕлементЛоцатед ()
унтилл () из ВебдриверВаит и висибилитиОфЕлементЛоцатед () из ЕкпецтедЦондитионс да изричито сачекају док се елемент не види на веб страници.
Решавати случајеве када елементу треба превише времена да би био видљив на веб страници софтвера применом имплицитног чекања постаје незгодно. У овом случају можемо написати коментар да сачекамо док се елемент не појави на веб страници. Ова наредба користи комбинацију методе тилл () из класе ВебдриверВаит и методе висибилитиОфЕлементЛоцатед () из класе ЕкпецтедЦондитионс.
Синтакса:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated (By.xpath('//input(@id=’name’)')));
Објашњење:
- Први ред говори колико времена треба чекати, што је 10 секунди.
- Други услов говори о очекиваном стању које треба сачекати. Овде се ради о елементу са ид’наме ’у поменутом кпатх-у.
# 13) до () и алертИсПресент ()
унтилл () од ВебдриверВаит и алертИсПресент () од ЕкпецтедЦондитионс да изричито сачекају док се не појави упозорење.
У неким сценаријима морамо сачекати упозорења да бисмо наставили тест. У овом случају користимо наредбу која користи методу тилл () из класе ВебдриверВаит и методу алертИсПресент () из класе ЕкпецтедЦондитионс.
Молимо погледајте наредбу испод:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.alertIsPresent() );
Објашњење:
- Први ред говори колико времена треба чекати - то је 10 секунди.
- Други услов говори о очекиваном стању које треба сачекати. Овде се појављује упозорење.
# 14) гетТитле ()
гетТитле () да бисте добили наслов странице у Селениум вебдривер-у.
Синтакса:
String title = driver.getTitle(); System.out.println(title);
Ово се обично користи за испис наслова у излазним дневницима.
Објашњење:
- Дохватите наслов веб странице и сачувајте га у наслову објекта Стринг.
- Исписати вредност сачувану у наслову у излазне евиденције.
# 15) Изаберите
Изаберите класу за избор и поништавање избора вредности из падајућег менија у програму Селениум ВебДривер.
Често имамо сценарије повезане са падајућим менијима. За ово се користе методе из класе Селецт. Према сценарију можемо користити селецтБиВисиблеТект (), селецтБиВалуе () или селецтБиИндек ().
Синтакса:
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); dropdown.selectByVisibleText('Apple');
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- У падајућем менију одаберите видљиви текст „Аппле“.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); Dropdown.selectByValue('Apple')
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- У падајућем менију одаберите текст са вредношћу „Аппле“.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); listbox.selectByIndex(1);
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- Изаберите падајућу ставку са вредношћу индекса „1“ из падајућег менија (Друга ставка).
Слично избору, можемо поништити избор вредности из падајућег менија помоћу сличних наредби.
Молимо провјерите наредбе:
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); dropdown.deselectByVisibleText('Apple');
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- Поништите избор видљивог текста „Аппле“ из падајућег менија.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); Dropdown.deselectByValue('Apple');
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- У падајућем избору опозовите избор текста са вредношћу „Аппле“.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); listbox.deselectByIndex(1);
Објашњење:
- Пронађите падајући мени помоћу ид-а „селецт“.
- Поништите избор падајуће ставке са вредношћу индекса „1“ из падајућег менија (Друга ставка).
навигате () за кретање између УРЛ адреса.
Често видимо сценарије у којима бисмо можда желели да се померимо са одредишне УРЛ адресе, а затим се вратимо уназад или унапред. У таквим случајевима, уместо да користимо гет (), можемо користити навигате (). У Навигацији можемо користити методе бацк () и форвард () без навођења УРЛ-ова.
Синтакса:
driver.navigate().to('https://www.softwaretestinghelp.com'); driver.navigate().back(); driver.navigate().forward();
Објашњење:
- Идите на хттпс://ввв.софтваретестингхелп.цом
- Врати се назад.
- Навигација напред.
# 17) гетСцреенсхотАс ()
гетСцреенсхотАс () да бисте снимили целокупан снимак екрана странице у програму Селениум ВебДривер.
Овај је често потребан да бисте сачували детаље о послу или понекад да бисте ручно проверили резултате. Наредба у наставку се користи за снимање екрана заслона и спремање у излазну датотеку.
Синтакса:
File shot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(shot, new File('D:\ shot1.jpg'));
Објашњење:
- Снимите снимак екрана и сачувајте датотеку у снимку предмета.
- Сачувајте датотеку у Д погону као схот1.пнг.
# 18) мовеТоЕлемент ()
мовеТоЕлемент () из класе Акције за симулацију ефекта лебдења миша.
Постоје сценарији у којима треба да задржимо показивач миша изнад веб елемената, попут менија, да бисмо видели подмени, везе да бисмо видели промене боја итд. У тим случајевима користимо класу Ацтион. Погледајте доњу синтаксу класе Ацтион.
Синтакса:
Actions actions = new Actions(driver); WebElement mouseHover = driver.findElement(By.xpath('//div(@id='mainmenu1')/div')); actions.moveToElement(mouseHover); actions.perform();
Објашњење
- Пронађите и пронађите веб елемент са див ид ‘маинмену1’.
- Померите показивач миша на елемент.
# 19) драгАндДроп ()
драгАндДроп () из класе Ацтион да бисте превукли елемент и спустили га на други елемент.
У неким сценаријима можда бисмо желели да повучемо елементе. На пример, превуците слику на сцену. У овом случају можемо користити класу Акције.
У методи драгАндДроп прослеђујемо два параметра, Соурце лоцатор - елемент који желимо да превучемо и Дестинатион лоцатор - елемент на који желимо да се преусмеримо.
Синтакса:
WebElement sourceLocator = driver.findElement(By.xpath('//*(@id='image1')/a')); WebElement destinationLocator = driver.findElement(By.xpath('//*(@id='stage')/li')); Actions actions=new Actions(driver); actions.dragAndDrop(sourceLocator, destinationLocator).build().perform();
Објашњење:
- Пронађите и пронађите изворни веб елемент.
- Пронађите и пронађите одредишни веб елемент.
- Превуците и испустите изворни елемент на одредишни елемент.
# 20) свитцхТо () и аццепт (), дисмисс () анд сендКеис ()
свитцхТо () и аццепт (), дисмисс () анд сендКеис () методе из класе Алерт за пребацивање на искачуће упозорења и руковање њима.
Да бисмо се пребацили на упозорења, искачуће прозоре и обрађивали их, користимо комбинацију комбинације од пребаците на() и аццепт (), дисмисс () методе из класе Алерт.
Синтакса:
Alert alert = driver.switchTo().alert(); alert.sendKeys('This Is Softwaretestinghelp'); alert.accept()
Објашњење:
- Пребаците се на прозор упозорења.
- Упишите „Ово је помоћ за тестирање софтвера“ у оквиру упозорења.
- Прихватите упозорење и затворите га.
алерт.дисмисс () може се користити за одбацивање упозорења.
# 21) гетВиндовХандле () и гетВиндовХандлес ()
гетВиндовХандле () и гетВиндовХандлес () за обраду више прозора у програму Селениум ВебДривер.
тцп ип интервју питања и одговори пдф
Много је случајева када веб апликације имају много оквира или прозора.
То су углавном огласи или искачући прозори са информацијама. Помоћу Виндовс Хандлера можемо се носити са више прозора. Вебдривер чува јединствени ИД прозора за сваки прозор. Користимо овај ИД за њихово руковање.
Синтакса:
String handle= driver.getWindowHandle(); Set handle= driver.getWindowHandles();
Горње наредбе се користе за добијање ИД-ова прозора тренутног прозора, односно свих прозора. Молимо погледајте петљу у наставку да бисте видели како можемо ићи до сваког прозора кроз фор петљу.
for (String handle : driver.getWindowHandles()){ driver.switchTo().window(handle); }
Објашњење:
- За сваки ИД ручице прозора из дривер.гетВиндовХандлес (), пребаците се на тај ИД прозора.
# 22) гетЦоннецтион ()
гетЦоннецтион () из ДриверМанагер-а за покретање везе са базом података.
Да бисмо започели везу са базом података, користимо гетЦоннецтион из класе ДриверМанагер.
Синтакса:
DriverManager.getConnection(URL, 'username', 'password' )
Објашњење:
- Повежите се са базом података путем УРЛ-а и акредитива.
# 23) ОНДА
ПОИ за читање из екцел датотека.
У тестирању на основу података, често уносе чувамо у екцел датотеци и читамо их. Да бисмо то урадили у ВебДриверу, увозимо пакет ПОИ, а затим користимо наредбу испод.
Синтакса:
Workbook workbook = WorkbookFactory.create(new FileInputStream(file)); Sheet sheet = workbook.getSheetAt(0);
Објашњење:
- Направите датотеку читача.
- Прочитајте датотеку.
# 24) ассертЕкуалс (), ассертНотЕкуалс (), ассертТруе () и ассертФалсе ()
Тврдње које користе ассертЕкуалс (), ассертНотЕкуалс (), ассертТруе () и ассертФалсе () за поређење резултата.
Тврдње се користе за поређење очекиваних и стварних резултата. О полагању или неуспеху теста обично се одлучује на основу резултата тврдњи. У аутоматизацији се користе различите врсте тврдњи.
Синтакса:
Assert.assertEquals(message, “This text”); Assert.assertNotEquals(message, “This text”); Assert.assertTrue(result<0); Assert.assertFalse(result<0);
Објашњење:
- У првој наредби, кад год су очекиване и стварне вредности исте, тврдња пролази без изузетка. тј. ако је порука „Овај текст“, тада тврдња пролази.
- У другој наредби, кад год су очекиване и стварне вредности исте, тврдња не успева са изузетком. тј. ако је порука „Овај текст“, тада тврдња не успева.
- У трећој наредби, ако услов прође, тврдња пролази. тј. ако резултат<0, then the assertion passes.
- У четвртој команди, ако услов прође, тврдња не успева. тј. ако резултат<0, then the assertion fails.
# 25) затвори () и затвори ()
цлосе () и куит () да бисте затворили прозоре и инстанце управљачког програма.
Ове наредбе се користе на крају сваког програма аутоматизације.
Синтакса:
driver.close() driver.quit()
Објашњење:
Прва наредба затвара тренутни прозор.
Друга наредба напушта ову инстанцу управљачког програма, затварајући сваки придружени прозор који се отвори.
Закључак
У овом упутству смо представили разне често и прекомерно коришћене ВебДривер команде. Покушали смо да објаснимо наредбе на одговарајућим примерима и исечцима кода.
Трудио сам се најбоље да објасним најпопуларније ВебДривер наредбе које рутински користимо у свакодневном раду. Ове наредбе ће вам омогућити лак рад са Селенијем.
Надам се да вам је било занимљиво и упућено.
Да ли сте испитивач аутоматизације који је испробао било коју од горе наведених наредби? Или смо пропустили било коју команду коју користите на горњој листи?
Следећи водич # 18 : У предстојећем водичу разговарали бисмо о Веб табеле, оквири и динамички елементи који су битан део сваког веб пројекта. Такође ћемо покрити Изузетак руковање важнију тему детаљније у једном од предстојећих водича за Селениум.
Препоручено читање
- Водич за краставац селениј: Интеграција Јава Селениум ВебДривер краставца
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Како покренути Селениум ВебДривер у различитим популарним прегледачима
- Примена наше прве скрипте за ВебДривер - Водич бр. 10 за Селениум ВебДривер
- Честа питања о селену
- Како се рукује упозорењима / искачућим прозорима у програму Селениум ВебДривер - Водич за селен # 16
- Водич за ГецкоДривер Селениум: Како се користи ГецкоДривер у пројектима Селениум
- Имплицитно и експлицитно чекање у Селениум ВебДривер-у (врсте селенијских чекања)