how handle alerts popups selenium webdriver selenium tutorial 16
Ефикасни начини за руковање Виндовс-ом и упозорењима која се заснивају на Интернету у програму Селениум ВебДривер:
најбољи бесплатни чистач регистра 7
У претходном водичу фокусирали смо нашу дискусију на различите врсте чекања које пружа ВебДривер . Такође смо разговарали о разним врстама навигационих опција доступних у ВебДривер-у.
Кретање напред у Водичи за Селениум ВебДривер , разговараћемо о доступне су различите врсте упозорења током тестирања веб апликација и њихових стратегија руковања.
Постоје две врсте упозорења на која бисмо се углавном фокусирали :
- Искачући прозори упозорења засновани на оперативном систему Виндовс
- Искачући прозори упозорења засновани на Интернету
Како знамо да руковање искачућим прозорима заснованим на прозорима превазилази могућности ВебДривера, стога бисмо користили неке независне услужне програме за руковање искачућим прозорима.
Руковање искачућим прозорима један је од најизазовнијих послова за аутоматизацију током тестирања веб апликација. Захваљујући разноликости врста искачућих прозора ситуацију још више компликује.
Шта је оквир за упозорење / искачући оквир / оквир за потврду / упит / потврда идентитета?
То је само мали оквир који се појављује на екрану како би вам пружио неку врсту информација или вас упозорио на потенцијално штетну операцију или чак могао да затражи дозволе за операцију.
Пример: Размотримо пример из стварног живота ради бољег разумевања; Претпоставимо да смо фотографију поставили на било коју од ових популарних веб локација за друштвене мреже. Касније желим да избришем отпремљену фотографију. Дакле, да бих избрисао, кликнуо сам на дугме за брисање. Чим кликнем на дугме за брисање, систем ме упозорава против моје радње, тражећи - Да ли заиста желите да избришете датотеку? Дакле, сада имамо могућност или да прихватимо ово упозорење или да га одбијемо.
Дакле, пре сесије, да видимо како одбијамо или прихватамо упозорења у зависности од њихових врста. Почевши од искачућих прозора заснованих на мрежи.
Шта ћете научити:
Скочни прозори засновани на вебу
Погледајмо како ћемо се носити са њима помоћу ВебДривера.
Руковање искачућим оквиром на мрежи
ВебДривер нуди корисницима веома ефикасан начин за руковање овим искачућим прозорима помоћу Алерт интерфејса.
Постоје четири методе које бисмо користили заједно са Алерт интерфејсом.
1) воид дисмисс () - Метода дисмисс () кликне на дугме „Откажи“ чим се појави искачући прозор.
два) воид аццепт () - Метода аццепт () кликне на дугме „Ок“ чим се појави искачући прозор.
3) Стринг гетТект () - Метода гетТект () враћа текст приказан у пољу за упозорење.
4) воид сендКеис (Стринг стрингТоСенд) - Метода сендКеис () уноси наведени образац низа у оквир упозорења.
Кренимо напред и погледајмо стварну примену.
Објашњење апликације која се испитује
Дизајнирали смо веб страницу на начин да укључује неколико основних врста веб елемената. Ово је иста апликација коју смо увели током расправљања о класи Селецт раније у овој серији.
- Хипервеза : Обезбеђене су две хипервезе, наиме „Гоогле“ и „абодеКА“, које корисника преусмеравају на „хттп://ввв.гоогле.цом/“ и „хттп://ввв.абодека.цом/“ на кликни догађај.
- Испустити : Три хипервезе су створене за одабир боја, воћа и животиња са вредности која је постављена на подразумевану вредност.
- Дугме : Креирано је дугме „три ит“ (Покушај) да би се приказао искачући оквир који садржи дугмад ОК и Цанцел након клика.
(Кликните на слику за увећан приказ)
Следи ХТМЛ код који се користи за стварање горе поменуте веб странице:
Тестирање Изаберите класуЦрвена Зелена Жута Сива | Аппле Оранге Манго Лиме | Изаберите Слон мишји пас |
Кликните на дугме да бисте приказали оквир за потврду. Испробајте функцију миФунцтион () {потврда ('Притисните дугме!'); } |
Сценариј који треба аутоматизовати
- Покрените веб прегледач и отворите веб страницу
- Кликните на дугме „Пробај“
- Прихватите упозорење
- Поново кликните на дугме „Пробај“
- Одбијте упозорење
ВебДривер код помоћу Селецт Цласс
Имајте на уму да бисмо за израду скрипти користили пројекат „Леарнинг_Селениум“ креиран у претходном водичу.
Корак 1 : Направите нову јава класу названу „ДемоВебАлерт“ у оквиру пројекта „Леарнинг_Селениум“.
Корак 2 : Копирајте и налепите доњи код у класу „ДемоВебАлерт.јава“.
Испод је тест скрипта која је еквивалентна горе поменутом сценарију.
import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; /** * class description */ public class DemoWebAlert { WebDriver driver; /** * Constructor */ public DemoWebAlert() { } /** * Set up browser settings and open the application */ @Before public void setUp() { driver=new FirefoxDriver(); // Opened the application driver.get('file:///F:/Work/Selenium/Testing-Presentation/DemoWebPopup.htm'); driver.manage().window().maximize(); } /** * Test to check Select functionality * @throws InterruptedException */ @Test public void testWebAlert() throws InterruptedException { // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert Alert alert = driver.switchTo().alert(); alert.accept(); // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert driver.switchTo().alert().dismiss(); // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert System.out.println(driver.switchTo().alert().getText()); driver.switchTo().alert().accept(); } /** * Tear down the setup after test completes */ @After public void tearDown() { driver.quit(); } }
Пролаз кроз код
Изјаве о увозу
Увоз орг.опенка.селениум.Алерт - Увезите овај пакет пре креирања скрипте Пакет се односи на класу Алерт која је потребна за руковање упозорењима заснованим на мрежи у ВебДривер-у.
Стварање објекта за класу упозорења
Упозорење упозорења = дривер.свитцхТо (). Алерт ();
Креирамо референтну променљиву за класу Алерт и упућујемо је на упозорење.
најбољи бесплатни услужни програм за чишћење Виндовс 10
Пребаците се на Упозорење
Дривер.свитцхТо (). Алерт ();
Горња команда се користи за пребацивање контроле на недавно генерисани искачући прозор.
Прихватите упозорење
алерт.аццепт ();
Горња команда прихвата упозорење и кликом на дугме Ок.
Одбијте упозорење
алерт.дисмисс ();
Горња команда затвара упозорење кликом на дугме Одустани и стога операција не би требало да се настави.
Скочни прозори засновани на прозорима
Понекад док аутоматизујемо, добијамо неке сценарије, у којима морамо да обрађујемо искачуће прозоре које генеришу прозори попут искачућег прозора или прозора за прегледање приликом учитавања датотеке.
Такође прочитајте = >> Како се рукује отпремањем датотека у селенијуму
Руковање овим искачућим прозорима увек је било помало замршено, јер знамо да је Селениум алат за тестирање аутоматизације који подржава само тестирање веб апликација, што значи да не подржава апликације засноване на прозорима и упозорење прозора је једно од њих. Међутим, сам Селениум не може да помогне ситуацији, али заједно са интервенцијом треће стране, овај проблем се може превазићи.
Доступно је неколико независних алата за руковање искачућим прозорима заснованим на прозорима заједно са селеном.
имплементација реда приоритета у јави
Па хајде сада да се позабавимо искачућим прозорима заснованим на прозору помоћу класе Робот.
Класа робота је услужни програм заснован на јави који опонаша радње тастатуре и миша.
Пре него што кренемо напред, узмимо тренутак да погледамо апликацију која се тестира (АУТ).
Објашњење апликације која се испитује
Као тест апликацију, користили бисмо „гмаил.цом“. Верујем да апликација не захтева више представљања.
Сценариј који треба аутоматизовати
- Покрените веб прегледач и отворите апликацију - „гмаил.цом“
- Унесите важеће корисничко име и лозинку
- Кликните на дугме за пријаву
- Кликните на дугме за састављање
- Кликните на икону за прилог
- Изаберите датотеке за отпремање помоћу искачућег прозора заснованог на прозору.
ВебДривер код користећи класу робота
Имајте на уму да бисмо за израду скрипти користили пројекат „Леарнинг_Селениум“ креиран у претходном водичу.
Корак 1 : Направите нову јава класу названу „ДемоВиндовАлерт“ у оквиру пројекта „Леарнинг_Селениум“.
Корак 2 : Копирајте и налепите доњи код у класу „ДемоВиндовАлерт.јава“.
Испод је тест скрипта која је еквивалентна горе поменутом сценарију.
import java.awt.Robot;
импорт јава.авт.евент.КеиЕвент; импорт орг.јунит.Афтер; импорт орг.јунит.Бефоре; импорт орг.јунит.Тест; импорт орг.опенка.селениум.Би; импорт орг.опенка.селениум.ВебДривер; импорт орг.опенка.селениум.фирефок.ФирефокДривер; јавна класа ДемоВиндовАлерт {управљачки програм ВебДривер; @Бефоре публиц воид сетУп () {дривер = нови ФирефокДривер (); дривер.гет ('хттпс://гмаил.цом'); дривер.манаге (). виндов (). макимизе (); } @Тест публиц воид тестВиндовАлерт () баца изузетак {// унесите важећу адресу е-поште дривер.финдЕлемент (Би.ид ('Емаил')). СендКеис ('ТестСелениум1607@гмаил.цом '); // унесите важећу лозинку дривер.финдЕлемент (Би.ид ('Пассвд')). сендКеис ('ТестСелениум'); // кликните на дугме за пријаву дривер.финдЕлемент (Би.ид ('сигнИн')). цлицк (); Тхреад.слееп (30000); // кликните на дугме за састављање дривер.финдЕлемент (Би.кпатх ('// див (@ цласс =' з0 ') // див (цонтаинс (тект (),' ЦОМПОСЕ '))')). цлицк (); // кликните на икону приложених датотека дривер.финдЕлемент (Би.кпатх ('// див (садржи (@ наредбу,' Датотеке ')) // див (садржи (@ класу,' ааА '))')). кликните ( ); // креирање инстанце класе Робот (услужни програм заснован на јави) Робот рб = нев Робот (); // притискање тастера уз помоћ кеиПресс и кеиРелеасе догађаја рб.кеиПресс (КеиЕвент.ВК_Д); рб.кеиРелеасе (КеиЕвент.ВК_Д); Тхреад.слееп (2000); рб.кеиПресс (КеиЕвент.ВК_СХИФТ); рб.кеиПресс (КеиЕвент.ВК_СЕМИЦОЛОН); рб.кеиРелеасе (КеиЕвент.ВК_СЕМИЦОЛОН); рб.кеиРелеасе (КеиЕвент.ВК_СХИФТ); рб.кеиПресс (КеиЕвент.ВК_БАЦК_СЛАСХ); рб.кеиРелеасе (КеиЕвент.ВК_БАЦК_СЛАСХ); Тхреад.слееп (2000); рб.кеиПресс (КеиЕвент.ВК_П); рб.кеиРелеасе (КеиЕвент.ВК_П); рб.кеиПресс (КеиЕвент.ВК_И); рб.кеиРелеасе (КеиЕвент.ВК_И); рб.кеиПресс (КеиЕвент.ВК_Ц); рб.кеиРелеасе (КеиЕвент.ВК_Ц); Тхреад.слееп (2000); рб.кеиПресс (КеиЕвент.ВК_ЕНТЕР); рб.кеиРелеасе (КеиЕвент.ВК_ЕНТЕР); Тхреад.слееп (2000); } @Након јавне воид теарДовн () {дривер.куит (); }} Пролаз кроз код
Изјаве о увозу
импорт јава.авт.Робот - Увезите овај пакет пре креирања скрипте. Пакет се односи на класу Робот у јави која је обавезна да симулира догађаје тастатуре и миша.
импорт јава.авт.евент.КеиЕвент - Пакет омогућава кориснику да користи догађаје на тастатури кеиПресс и кеиРелеасе.
Стварање предмета за класу Робот
Робот рб = нови Робот ();
Стварамо референтну променљиву за класу Робот и правимо инстанцу.
КеиПресс и КеиРелеасе догађаји
рб.кеиПресс (КеиЕвент.ВК_Д);
рб.кеиРелеасе (КеиЕвент.ВК_Д);
Методе кеиПресс и кеиРелеасе симулирају да корисник притиска и отпушта одређени тастер на тастатури.
Закључак
У овом упутству покушали смо да вас упознамо са класом ВебДривер’с Алерт која се користи за руковање искачућим прозорима заснованим на мрежи. Такође смо вас информисали о класи Робот која се може користити за попуњавање вредности у упозорењу заснованом на прозору уз помоћ догађаја кеиПресс и кеиРелеасе.
Резиме чланка:
- Упозорења су мали оквир који се појављује на екрану како би вам пружио неку врсту информација или вас упозорио на потенцијално штетну операцију или чак може тражити дозволе за операцију.
- Популарно постоје две врсте упозорења -
- Искачући прозори упозорења засновани на оперативном систему Виндовс
- Искачући прозори упозорења засновани на Интернету
- Пре стварног скриптирања, морамо да увеземо пакет како бисмо могли да креирамо ВебДривер скрипту за руковање падајућим менијем и омогућавање приступа класи Селецт.
- ВебДривер нуди корисницима веома ефикасан начин за руковање овим искачућим прозорима помоћу Алерт интерфејса.
- воид дисмисс () - Тхе одбацити () метода кликне на дугме „Откажи“ чим се појави искачући прозор.
- воид аццепт () - Тхе прихвати () метода кликне на дугме „Ок“ чим се појави искачући прозор.
- Низ гетТект () - Тхе гетТект () метода враћа текст приказан у пољу за упозорење.
- воид сендКеис (Стринг стрингТоСенд) - Тхе сендКеис () метода уноси наведени образац низа у оквир упозорења.
- Руковање искачућим прозорима заснованим на прозорима су увек били помало шкакљиви јер знамо да је Селениум алат за аутоматизацију који подржава само тестирање веб апликација, што значи да не подржава апликације засноване на Виндовсима и један од њих је упозорење прозора.
- Класа робота је услужни програм заснован на јави који опонаша радње тастатуре и миша и може се ефикасно користити за руковање искачућим прозорима заснованим на прозору уз помоћ догађаја на тастатури.
- Методе кеиПресс и кеиРелеасе симулирају да корисник притиска и отпушта одређени тастер на тастатури.
Следећи водич # 17 : У предстојећем упутству разговарали бисмо о разним другим најчешће коришћене ВебДривер команде . Осветлили бисмо теме попут руковања изузецима и руковања ифраме-ом. Такође бисмо разговарали о наредбама за добијање које се пружају у ВебДривер-у.
Објаснили бисмо ове теме са брзим примерима како бисмо их учинили разумљивим за читаоце да користе ове концепте у свакодневном писању сценарија.
Напомена за читаоце : До тада, будите са нама и аутоматизујте веб странице са искачућим прозорима заснованим на мрежи и прозору помоћу услужног програма ВебДривер - „Класа упозорења“ и Јава програма - „Класа робота“.
Слободно објавите своје упите / коментаре о овом или било ком другом претходном водичу у коментарима испод.
Препоручено читање
- Водич за краставац селенијум: Интеграција Јава Селениум ВебДривер краставца
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Примена наше прве скрипте за ВебДривер - Водич бр. 10 за Селениум ВебДривер
- Целокупно подешавање и инсталирање ВебДривер-а помоћу програма Ецлипсе - Водич за селен бр. 9
- Проверите видљивост веб елемената помоћу различитих типова ВебДривер наредби - Водич за селен # 14
- Водич за ГецкоДривер Селениум: Како се користи ГецкоДривер у пројектима Селениум
- Интеграција Јенкинса са Селениум ВебДривер: Водич корак по корак
- Ефикасни сценарији за скриптирање и решавање проблема са селенијем - Водич за селениј # 27