Шта је тестирање више прегледача?
Цросс Бровсер Тестинг је врста функционалног теста којим се проверава да ли ваша веб апликација ради како се очекује у различитим прегледачима.
Зашто нам је потребно тестирање више прегледача?
Веб-засноване апликације се потпуно разликују од Виндовс апликација. Крајњи корисник може да отвори веб апликацију у било ком претраживачу. На пример, неки радије отварају хттпс://твиттер.цом у прегледачу Фирефок, док други могу да користе Цхроме прегледач или ИЕ .
На доњем дијаграму можете приметити да се у ИЕ оквир за пријаву на Твиттер не приказује криву на свим угловима, али можемо да га видимо у Цхроме прегледачу.
Зато морамо осигурати да веб апликација ради како се очекује у свим популарним прегледачима, тако да јој више људи може приступити и користити је.
Овај мотив се може испунити унакрсним тестирањем производа путем прегледача.
Разлог Проблеми са више прегледача
- Неусклађеност величине слова у различитим прегледачима.
- Имплементација ЈаваСцрипт-а може бити различита.
- Могу постојати разлике у валидацији ЦСС-а и ХТМЛ-а.
- Неки прегледачи још увек не подржавају ХТМЛ5.
- Поравнање странице и величина див-а.
- Оријентација слике.
- Некомпатибилност прегледача са ОС-ом. Итд.
Како се врши тестирање више прегледача
Ако користимо Селениум ВебДривер, можемо аутоматизовати тест случајеве помоћу прегледача Интернет Екплорер, ФиреФок, Цхроме, Сафари.
Да бисмо истовремено извршавали тест случајеве са различитим прегледачима на истој машини, можемо интегрисати Тестнг фрамеворк са Селениум ВебДривер.
Ваш тестинг.кмл ће изгледати тако,
Овај тест.кмл ће се пресликати са тест случајем који ће тако изгледати
Овде, зато што тест.кмл има две тест ознаке („ЦхромеТест“, „ФирефокТест“), овај тест случај ће се извршити два пута за 2 различита прегледача.
Прво тестирање „ЦхромеТест“ проследиће вредност параметра „прегледач“ као „хром“, тако да ће се ЦхромеДривер извршити. Овај тест ће се покретати у Цхроме прегледачу.
Други тест 'ФирефокТест' проследиће вредност параметра 'бровсер' као 'Фирефок', тако да ће се ФирефокДривер извршити. Овај тест ће се покретати у прегледачу ФиреФок.
Комплетан код:
Гуру99ЦроссБровсерСцрипт.јава
пакет параллелТест;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.цхроме.ЦхромеДривер;импорт орг.опенка.селениум.едге.ЕдгеДривер;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.аннотатионс.БефореТест;импорт орг.тестнг.аннотатионс.Параметерс;импорт орг.тестнг.аннотатионс.Тест;јавна класа ЦроссБровсерСцрипт {Управљачки програм за ВебДривер;/ *** Ова функција извршиће се пре сваке тест ознаке у тестнг.кмл* прегледач @парам* @тхровс Изузетак* /@БефореТест@Параметерс („претраживач“)подешавање јавне празнине (претраживач са низом) баца изузетак {// Проверите да ли је параметар прослеђен из ТестНГ-а 'фирефок'иф (бровсер.екуалсИгнореЦасе ("фирефок")) {// креирамо инстанцу фирефок-аСистем.сетПроперти ("вебдривер.гецко.дривер", ". \\ гецкодривер.еке");дривер = нови ФирефокДривер ();}// Проверите да ли је параметар прослеђен као 'цхроме'елсе иф (бровсер.екуалсИгнореЦасе ("цхроме")) {// поставља пут до цхромедривер.екеСистем.сетПроперти ("вебдривер.цхроме.дривер", ". \\ цхромедривер.еке");// креирамо цхроме инстанцудривер = нови ЦхромеДривер ();}// Проверите да ли је параметар прослеђен као 'Едге'елсе иф (бровсер.екуалсИгнореЦасе ("Едге")) {// поставља пут до Едге.екеСистем.сетПроперти ("вебдривер.едге.дривер", ". \\ МицрософтВебДривер.еке");// креирамо Едге инстанцудривер = нови ЕдгеДривер ();}елсе {// Ако ниједан прегледач није проследио изузетакбаци нови изузетак („Прегледник није тачан“);}дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);}@Тестпублиц воид тестПараметерВитхКСМЛ () баца ИнтерруптедЕкцептион {дривер.гет ("хттп://демо.гуру99.цом/В4/");// Пронађи корисничко имеВебЕлемент усерНаме = дривер.финдЕлемент (Би.наме ("уид"));// Попуните корисничко имеусерНаме.сендКеис ("гуру99");// Пронађи лозинкуЛозинка ВебЕлемент = дривер.финдЕлемент (Би.наме ("лозинка"));// Попуните лозинкупассворд.сендКеис ("гуру99");}}
тестинг.кмл
кмл версион = "1.0" енцодинг = "УТФ-8"?><суите наме = "ТестСуите" тхреад-цоунт = "2" паралелно = "тестови"><тест наме = "ЦхромеТест"><име параметра = "бровсер" валуе = "Цхроме" /><класе><цласс наме = "параллелТест.ЦроссБровсерСцрипт">цласс>цлассес>тест><тест наме = "ФирефокТест"><име параметра = "бровсер" валуе = "Фирефок" /><класе><цласс наме = "параллелТест.ЦроссБровсерСцрипт">цласс>цлассес>тест><тест наме = "ЕдгеТест"><име параметра = "бровсер" валуе = "Едге" /><класе><цласс наме = "параллелТест.ЦроссБровсерСцрипт">цласс>цлассес>тест>суите>
НАПОМЕНА: Да бисте покренули тест, кликните десним тастером миша на тестинг.кмл, одаберите Рун Ас и кликните ТестНГ
Резиме
- Унакрсно тестирање прегледача је техника за тестирање веб апликација помоћу различитих веб прегледача.
- Селен може да подржи различите типове прегледача за аутоматизацију.
- Селен се може интегрисати са ТестНГ-ом за тестирање више прегледача.
- Из параметара у тестинг.кмл можемо проследити име прегледача, ау тест случају можемо створити референцу за ВебДривер.
Напомена: Дати програм је направљен и тестиран на селену 3.0.1, Цхроме 56.0.2924.87, Фирефок 47.0.2 и Мицрософт Едге 14.14393. Ако програми дају грешку, ажурирајте управљачки програм
У овом водичу преузмите датотеке за пројекат Селениум за демонстрацију