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