ХТТП колачић се састоји од информација о кориснику и његовим преференцијама. Информације чува помоћу пара кључ / вредност. То је мали део података који се шаље из веб апликације и чува у веб прегледачу, док корисник прегледава ту веб страницу.
Кликните овде да бисте сазнали више о тестирању колачића.
У овом упутству ћемо научити -
- Команде упита селена за колачиће
- Зашто руковати колачићима у селену?
- Демо: Руковање колачићима у селену.
- Корак 1) Чување података о колачићима.
- Корак 2) Коришћење сачуваног колачића за пријављивање у апликацију.
Команде упита селена за колачиће
У програму Селениум Вебдривер можемо да постављамо упите и комуницирамо са колачићима помоћу доње уграђене методе:
дривер.манаге (). гетЦоокиес (); // Врати листу свих колачићадривер.манаге (). гетЦоокиеНамед (арг0); // Врати одређени колачић према именудривер.манаге (). аддЦоокие (арг0); // Креирајте и додајте колачићдривер.манаге (). делетеЦоокие (арг0); // Избриши одређени колачићдривер.манаге (). делетеЦоокиеНамед (арг0); // Избриши одређени колачић према именудривер.манаге (). делетеАллЦоокиес (); // Избриши све колачиће
Зашто руковати колачићима у селену?
Сваки колачић је повезан са именом, вредношћу, доменом, путањом, истеком и статусом да ли је безбедан или не. Да би потврдио клијента, сервер рашчлањује све ове вредности у колачићу.
Када тестирате веб апликацију помоћу селенског веб управљачког програма, можда ћете требати да креирате, ажурирате или избришете колачић.
На пример, када аутоматизујете апликацију за куповину на мрежи, многи требате да аутоматизујете сценарије тестирања као што су наруџба, преглед колица, информације о плаћању, потврда наруџбине итд.
Ако се колачићи не чувају, мораћете да извршите акцију пријаве сваки пут пре него што извршите горе наведене сценарије теста. Ово ће повећати ваш труд за кодирање и време извршавања.
Решење је чување колачића у датотеци. Касније преузмите вредности колачића из ове датотеке и додајте јој тренутну сесију прегледача. Као резултат, можете прескочити кораке за пријаву у сваком тест случају, јер сесија вашег управљачког програма садржи ове информације.
Сервер апликација сада третира сесију прегледача као потврђену и директно вас води до захтеване УРЛ адресе.
Демо: Руковање колачићима у селену.
Користићемо хттп://демо.гуру99.цом/тест/цоокие/селениум_аут.пхп у нашу демо сврху.
Ово ће бити процес у два корака.
Корак 1) Пријавите се у апликацију и сачувајте генерисани колачић за потврду идентитета.
Корак 2) Користите сачувани колачић за поновно пријављивање у апликацију без коришћења корисничког имена и лозинке.
Корак 1) Чување података о колачићима.
пакет ЦоокиеЕкампле;импорт јава.ио.БуффередВритер;импорт јава.ио.Филе;импорт јава.ио.ФилеВритер;импорт јава.утил.Сет;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.цхроме.ЦхромеДривер;импорт орг.опенка.селениум.Цоокие;публиц цласс цоокиеРеад {јавна статичка воид главна (Стринг [] аргс){Управљачки програм за ВебДривер;Систем.сетПроперти ("вебдривер.цхроме.дривер", "Г: ///цхромедривер.еке");дривер = нови ЦхромеДривер ();дривер.гет ("хттп://демо.гуру99.цом/тест/цоокие/селениум_аут.пхп");// Унесите ИД е-поште и лозинку Ако сте се већ регистровалидривер.финдЕлемент (Би.наме ("корисничко име")). сендКеис ("абц123");дривер.финдЕлемент (Би.наме ("лозинка")). сендКеис ("123киз");дривер.финдЕлемент (Би.наме ("субмит")). цлицк ();// креирамо датотеку под називом Цоокиес за чување података о пријавиДатотека датотеке = нова датотека ("Цоокиес.дата");покушати{// Избриши стару датотеку ако постојифиле.делете ();филе.цреатеНевФиле ();ФилеВритер филеВрите = нови ФилеВритер (датотека);БуффередВритер Бврите = нови БуффередВритер (филеВрите);// петља за добијање информација о колачићима// петља за добијање информација о колачићимаза (Цоокие цк: дривер.манаге (). гетЦоокиес ()){Бврите.врите ((цк.гетНаме () + ";" + цк.гетВалуе () + ";" + цк.гетДомаин () + ";" + цк.гетПатх () + ";" + цк.гетЕкпири () + ";" + цк.исСецуре ()));Бврите.невЛине ();}Бврите.цлосе ();филеВрите.цлосе ();}цатцх (изузетак ек){ек.принтСтацкТраце ();}}}
Објашњење кода:
- Направите инстанцу ВебДривер
- Веб локацију посећујемо користећи дривер.гет („хттп://демо.гуру99.цом/тест/цоокие/селениум_аут.пхп“)
- Пријавите се у апликацију
- Прочитајте информације о колачићима користећи
дривер.манаге (). гетЦоокиес ();
- Чувајте податке о колачићима помоћу класе ФилеВритер за писање токова знакова и БуффередВритер за писање текста у датотеку која се креира у датотеку Цоокиес.дата
- Датотека „Цоокиес.дата“ чува све податке о колачићима заједно са „Име, вредност, домен, путања“. Те податке можемо да приступимо и пријавимо се у апликацију без уношења података за пријављивање.
- Једном када покренете горњи код, датотека Цоокие.дата се креира у структури директоријума пројекта као што је приказано на доњем екрану. Отворите датотеку Цоокие.дата, можете видети да су акредитиви за пријаву на АУТ сачувани у формату Цоокие, погледајте доле истакнути екран
Корак 2) Коришћење сачуваног колачића за пријављивање у апликацију.
Сада ћемо приступити колачићу генерисаном у кораку 1 и користити генерисани колачић за потврду идентитета наше сесије у апликацији
пакет ЦоокиеЕкампле;импорт јава.ио.БуффередРеадер;импорт јава.ио.Филе;импорт јава.ио.ФилеРеадер;импорт јава.утил.Дате;импорт јава.утил.СтрингТокенизер;импорт орг.опенка.селениум.Цоокие;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.цхроме.ЦхромеДривер;јавна класа ЦоокиеВрите{јавна статичка воид главна (Стринг [] аргс) {Управљачки програм за ВебДривер;Систем.сетПроперти ("вебдривер.цхроме.дривер", "Г: //цхромедривер.еке");дривер = нови ЦхромеДривер ();покушати{Датотека датотеке = нова датотека ("Цоокиес.дата");ФилеРеадер филеРеадер = нови ФилеРеадер (датотека);БуффередРеадер Буффреадер = нови БуффередРеадер (филеРеадер);Стринг стрлине;вхиле ((стрлине = Буффреадер.реадЛине ())! = нулл) {СтрингТокенизер токен = нови СтрингТокенизер (стрлине, ";");вхиле (токен.хасМореТокенс ()) {Име низа = токен.нектТокен ();Вредност низа = токен.нектТокен ();Низ домене = токен.нектТокен ();Стринг пут = токен.нектТокен ();Датум истека = нулл;Стринг вал;иф (! (вал = токен.нектТокен ()). једнако ("нулл")){истек = нови датум (вал);}Боолеан исСецуре = нев Боолеан (токен.нектТокен ()).боолеанВалуе ();Цоокие цк = нови Цоокие (име, вредност, домен, путања, истек, исСецуре);Систем.оут.принтлн (цк);дривер.манаге (). аддЦоокие (цк); // Ово ће додати сачувани колачић у вашу тренутну сесију}}} цатцх (Изузетак ек) {ек.принтСтацкТраце ();}дривер.гет ("хттп://демо.гуру99.цом/тест/цоокие/селениум_аут.пхп");}}
ИЗЛАЗ: Бићете преусмерени директно на екран успеха пријаве без уношења корисничког ИД-а и лозинке за унос
НАПОМЕНА: Користите чврсто освежавање у случају да видите страницу за пријаву након извршавања горње скрипте.
Закључак
Тако можете избећи унос корисничког имена и лозинке на сервер који их изнова и изнова валидира за сваки тест уз помоћ програма Селениум Вебдривер и на тај начин штеди пуно времена.
Овај чланак је написао Мангесх Вагхмаре