implementation our first webdriver script selenium webdriver tutorial 10
У претходна два туторијала упознали смо вас са основном архитектуром и карактеристике ВебДривер-а и инфраструктура потребна за почетак рада са Селениум ВебДривер . Под претпоставком да сте сви можда поставили систем са свим потребним услужним програмима и пакетима, кренућемо даље са применом наше прве ВебДривер тест скрипте.
Стога, кретање напред са последичним Водич за Селениум ВебДривер , креирали бисмо ВебДривер скрипту. Такође бисмо расипали светлост на основно и најчешће коришћено ВебДривер команде . Такође бисмо сазнали о лоцирање стратегија УИ елемената и њихово укључивање у тест скрипте. Такође бисмо детаљно проучавали Гет Цоммандс.
Шта ћете научити:
- Стварање скрипте
- Цоде Валктхроугх
- Извршење теста
- Лоцирање веб елемената
- Врсте локатора и њихова синтакса
- Закључак
- Препоручено читање
Стварање скрипте
За израду скрипти користили бисмо пројекат „Леарнинг_Селениум“ креиран у претходном водичу и „гмаил.цом“ као апликацију која се тестира (АУТ).
Сценарио:
- Покрените прегледач и отворите „Гмаил.цом“.
- Потврдите наслов странице и одштампајте резултат верификације.
- Унесите корисничко име и лозинку.
- Кликните на дугме Пријави се.
- Затворите веб прегледач.
Корак 1: Направите нову јава класу названу „Гмаил_Логин“ у оквиру пројекта „Леарнинг_Селениум“.
Корак 2: Копирајте и налепите доњи код у класу „Гмаил_Логин.јава“.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Gmail_Login { /** * @param args */ public static void main(String[] args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Горњи код је еквивалентан текстуалном сценарију представљеном раније.
Цоде Валктхроугх
Изјаве о увозу:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By;
Пре стварног скриптирања, морамо да увозимо горе наведене пакете:
увоз орг.опенка.селениум.ВебДривер - референцира се на интерфејс ВебДривер који је потребан за инстанцирање новог веб прегледача.
увоз орг.опенка.селениум.фирефок.ФирефокДривер - упућује на класу ФирефокДривер која је потребна за инстанцирање специфичног Фирефок управљачког програма на инстанци прегледача инстанцираном помоћу интерфејса ВебДривер.
увоз орг.опенка.селениум.ВебЕлемент - референце на класу ВебЕлемент која је потребна за инстанцирање новог веб елемента.
увоз орг.опенка.селениум.Би - Упућивања на класу Би на којој се позива тип локатора.
Како и када ће наш пројекат расти, очигледно је и логично да ћемо можда морати да уведемо неколико других пакета за сложеније и различите функционалности као што су екцел манипулације, повезивање са базом података, евидентирање, тврдње итд.
шта је добро средство за чишћење рачунара
Инстантирање објеката
Управљачки програм за ВебДривер = нови ФирефокДривер ();
Стварамо референтну променљиву за ВебДривер интерфејс и правимо инстанцу помоћу класе ФирефокДривер. Покренуће се подразумевани Фирефок профил, што значи да ниједна екстензија и додаци не би били учитани са инстанцом Фирефок и да ради у безбедном режиму.
Покретање веб прегледача
дривер.гет (аппУрл);
ДО добити() метода се позива на инстанци ВебДривер за покретање нове инстанце веб прегледача. Низ знакова у низу прослеђен је као параметар у добити() метода преусмерава покренуту инстанцу веб прегледача на УРЛ апликације.
Увећајте прозор прегледача
дривер.манаге (). виндов (). макимизе ();
Тхе максимизирај () метода се користи за максимизирање прозора прегледача убрзо након што је преусмерен на УРЛ апликације.
Дохвати наслов странице
дривер.гетТитле ();
Тхе гетТитле () метода се користи за дохваћање наслова тренутне веб странице. Тако се дохваћени наслов може учитати у променљиву низа.
Поређење између очекиваних и стварних вредности:
if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); }
Горњи код користи јава конструкције условног израза за поређење стварне вредности и очекиване вредности. На основу добијеног резултата извршиће се испис.
ВебЕлемент Инстантиатион
ВебЕлемент корисничко име = дривер.финдЕлемент (Би.ид („Емаил“));
У горњој изјави, инстанцујемо референцу ВебЕлемент уз помоћ „Дривер.финдЕлемент (Би.ид („ Емаил “))“. Дакле, корисничко име се може користити за референцу на оквир за текст е-поште на корисничком интерфејсу сваки пут када желимо да извршимо неку радњу на њему.
Цлеар Цомманд
усернаме.цлеар ();
Метода / наредба цлеар () користи се за брисање вредности присутне у оквиру за текст ако постоји. Такође брише подразумевану вредност чувара места.
сендКеис Цомманд
усернаме.сендКеис („ТестСелениум“);
Тхе сендКеис () метода / наредба се користи за унос / унос наведене вредности (унутар заграда) у оквир за текст. Приметите да сендКеис () метода се позива на објекту ВебЕлемент који је инстанциран уз помоћ својства елемента које одговара елементу корисничког интерфејса.
Горњи блок кода уноси низ „ТестСелениум“ унутар оквира за текст е-поште у Гмаил апликацији.
сендКеис је једна од најпопуларнијих команди у скриптама ВебДривер.
Кликните на Цомманд
ц ++ иде са компајлером
СигнИнБуттон.цлицк ();
Као сендКеис (), кликните () је још једна прекомерно коришћена команда за интеракцију са веб елементима. Кликните () наредба / метода користи се за кликање на веб елемент присутан на веб страници.
Горњи блок кода кликће на дугме „Пријави се“ присутно у Гмаил апликацији.
Напомене:
- За разлику од методе сендКеис (), методе цлицк () никада не могу бити параметризоване.
- Понекад клик на веб елемент може у потпуности учитати нову страницу. Дакле, да би се одржали такви случајеви, метода цлицк () кодира се тако да сачека док се страница не учита.
Затворите веб прегледач
дривер.цлосе ();
Цлосе () се користи за затварање тренутног прозора прегледача.
Завршите Јава програм
Систем.екит (0);
Метода Екит () присилно прекида Јава програм. Стога, не заборавите да затворите све инстанце прегледача пре него што завршите Јава програм.
Извршење теста
Тест скрипта или једноставно јава програм могу се извршити на следеће начине:
# 1. Испод траке менија програма Ецлипсе налази се икона за извршавање тест скрипте. Погледајте следећу слику.
Забележите да ће бити извршена само она класа која је изабрана.
#два. Кликните десним тастером миша било где унутар класе унутар уређивача, одаберите опцију „Покрени као“ и кликните на „Јава апликацију“.
# 3. Друга пречица за извршавање тест скрипте је - Притисните цтрл + Ф11.
На крају циклуса извршавања, испис за испис „Тест скрипта је успешно изведена“. може се наћи у конзоли.
најбољи софтвер за надгледање температуре процесора
Лоцирање веб елемената
Веб елементи у ВебДриверу могу се лоцирати и прегледати на исти начин као што смо то чинили у претходним водичима за Селениум ИДЕ. Селениум ИДЕ и Фиребуг могу се користити за преглед веб елемента на ГУИ. Препоручује се употреба Селениум ИДЕ за проналажење веб елемената. Када је веб елемент успешно пронађен, копирајте и налепите циљну вредност у код ВебДривер-а. Типови локатора и стратегије лоцирања су прилично исти, осим синтаксе и њихове примене.
У ВебДриверу, веб елементи се налазе уз помоћ динамичких проналазача (финдЕлемент (Би.лоцаторТипе („вредност локатора”)).
Пример кода:
дривер.финдЕлемент (Би.ид („Емаил“);
Врсте локатора и њихова синтакса
Тип локатора | Синтакса | Опис |
---|---|---|
цссСелецтор | дривер.финдЕлемент (Би.цссСелецтор („ЦСС Селецтор“)) | Пронађи према вредности од ЦСС селектор |
ид | дривер.финдЕлемент (Би.ид („ИД_елемента“)) | Пронађи према вредности од атрибут „ид“ |
Назив класе | дривер.финдЕлемент (Би.цлассНаме („Цласс_оф_Елемент“)) | Пронађи према вредности од атрибут „класа“ |
линкТект | дривер.финдЕлемент (Би.линкТект („Текст“)) | Пронађи по вредности текст хипервезе |
делимичниТекст | дривер.финдЕлемент (Би.партиалЛинкТект („Делимични текст“)) | Пронађи по вредности подтекст хипервезе |
име | дривер.финдЕлемент (Поименце („Име_елемента“)) | Пронађи по вредности Атрибут „име“ |
кпатх | дривер.финдЕлемент (Би.кпатх („Кспатх“)) | Пронађи по вредности кпатх-а |
Означи име | дривер.финдЕлемент (Би.тагНаме („инпут“)) | Пронађи према вредности од назив његове ознаке |
Закључак
У овом упутству развили смо скрипту за аутоматизацију користећи ВебДривер и Јава. Такође смо разговарали о различитим компонентама које чине ВебДривер скрипту.
Ево суштина овог водича за Селениум ВебДривер:
- Пре стварног скриптирања, морамо да увеземо неколико пакета да бисмо могли да креирамо ВебДривер скрипту.
- увоз опенка.селениум.Би;
- увоз опенка.селениум.ВебДривер;
- увоз опенка.селениум.ВебЕлемент;
- увоз опенка.селениум.фирефок.ФирефокДривер;
- ДО добити() метода која се користи за покретање нове инстанце веб прегледача. Низ знакова прослеђен као параметар у методу гет () преусмерава покренуту инстанцу веб прегледача на УРЛ апликације.
- Тхе максимизирај () метода се користи за максимизирање прозора прегледача.
- Тхе јасно() метода користи се за брисање вредности присутне у оквиру за текст ако постоји.
- Тхе сендКеис () метода се користи за унос наведене вредности у оквир за текст.
- Кликните () метода се користи за клик на веб елемент присутан на веб страници.
- У ВебДриверу, веб елементи се могу лоцирати помоћу динамичких претраживача.
- Следеће врсте локатора су доступне:
- ид
- Назив класе
- име
- кпатх
- цссСелецтор
- линкТект
- делимичниТекст
- Означи име
Крећући се напред, у следећем упутству преусмерили бисмо фокус ка оквиру који помаже аутоматизацијском тестирању познатом као ТестНГ. Имали бисмо детаљну студију о различитим врстама напомена које пружа оквир.
Следећи водич # 11 : Пре зарањања дубоко у Фрамеворкс видећемо детаље о ЈУнит - алату за отворено тестирање јединице. Већина програмера користи ЈУнит јер је то лако и не треба му пуно труда за тестирање. Овај водич ће дати увид у ЈУнит и његову употребу у скрипту селена.
Напомена за читаоце: Док је наш следећи водич из серије Селениум у режиму обраде, читаоци могу започети са креирањем сопствених основних ВебДривер скрипти. За напредне скрипте и концепте, у овој серији ћемо наћи разне друге водиче за Селениум ВебДривер.
Обавестите нас у коментарима ако имате проблема са креирањем или извршавањем ВебДривер скрипти.
Препоручено читање
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Водич за краставац селениј: Интеграција Јава Селениум ВебДривер краставца
- Целокупно подешавање и инсталирање ВебДривер-а помоћу програма Ецлипсе - Водич за селен бр. 9
- Проверите видљивост веб елемената помоћу различитих типова ВебДривер команди - Селен Туториал # 14
- Ефикасни сценарији за скриптирање и решавање проблема са селенијем - Водич за селениј # 27
- Како се рукује упозорењима / искачућим прозорима у програму Селениум ВебДривер - Водич за селен # 16
- Отклањање грешака у селенијевим скриптама помоћу дневника (Водич за Лог4ј) - Водич за селениум # 26
- Увод у ЈУнит Фрамеворк и његову употребу у сценаријуму Селениум - Водич за селен # 11