Како се верификује опис са алатком Селениум ВебДривер

Преглед садржаја:

Anonim

Објашњење у селенијуму

Опис алата у селенијуму је текст који се појављује када миш пређе курсором преко објекта на веб страници. Објект може бити веза, слика, дугме, подручје текста итд. Текст описа често даје више информација о објекту на коме корисник лебди изнад курсора миша.

Објашњења алата традиционално су имплементирана као атрибут „наслов“ елемента. Вредност овог атрибута приказана је као опис алата при преласку мишем. Ово је статични текст који даје информације о елементу без стила.

Сада је доступно много додатака за примену „алата“. Напредни описи алата са стилом, приказивањем, сликама и везама имплементирани су помоћу ЈаваСцрипт / ЈКуери додатака или помоћу ЦСС описа.

  • За приступ или верификацију статичких описа алата који су имплементирани помоћу ХТМЛ атрибута „титле“, можемо једноставно да користимо методу гетАттрибуте („титле“) ВебЕлемента. Враћена вредност ове методе (која је текст описа) упоређује се са очекиваном вредношћу за верификацију.
  • За друге облике примена описа, мораћемо да користимо „АПИ за напредне корисничке интеракције“ који нуди веб управљачки програм да бисмо креирали ефекат лебдења миша, а затим преузели опис за елемент.

Кратки опис АПИ-ја за напредне корисничке интеракције:

АПИ за напредне интеракције корисника пружа АПИ за корисничке радње попут повлачења и испуштања, лебдења, вишеструког избора, притиска и отпуштања тастера и других радњи помоћу тастатуре или миша на веб страници.

Ову везу можете упутити за више детаља о АПИ-ју.

хттпс://селениумхк.гитхуб.ио/селениум/доцс/апи/јава/индек.хтмл?орг/опенка/селениум/интерацтионс/Ацтионс.хтмл

Ево, хајде да видимо како да користимо неколико класа и метода које би нам требале за померање елемента клизача за помак.

Корак 1) Да бисте користили АПИ, потребно је увести следеће пакете / класе:

Корак 2) Направите објекат класе „Ацтион“ и направите Секуенце оф усер ацтионс. Класа Акција се користи за изградњу секвенце корисничких радњи попут мовеТоЕлемент (), драгАндДроп () итд. АПИ пружа различите методе повезане са корисничким акцијама.

Објект покретачки програм се даје као параметар његовом конструктору.

Корак 3) Направите објект акције користећи методу буилд () класе „Ацтион“. Позовите методу перформ () да бисте извршили све радње изграђене објектом Ацтионс (овде је градитељ).

Видели смо како се користе неке методе корисничких радњи које пружа АПИ - цлицкАндХолд (елемент), мовеБиОффсет (10,0), релеасе (). АПИ пружа много таквих метода.

Погледајте везу за више детаља.

Како добити текст са описом у програму Селениум Вебдривер

Погледајмо демонстрацију приступа и верификације савета алата у једноставном сценарију

  • Сценариј 1: Објашњење се примењује помоћу атрибута „титле“
  • Сценариј 2: Објашњење се примењује помоћу додатка јКуери.

Сценарио 1: Атрибут „наслов“ ХТМЛ-а

У овом случају, узмимо пример веб странице - хттп://демо.гуру99.цом/тест/социал-ицон.хтмл.

Покушаћемо да верификујемо опис иконе „гитхуб“ у горњем десном углу странице.

Да бисмо то урадили, прво ћемо пронаћи елемент и добити његов атрибут 'титле' и верификовати очекиваним текстом савета алата.

Будући да претпостављамо да се врх алата налази у атрибуту „титле“, чак ни не аутоматизујемо ефекат лебдења миша, већ једноставно дохваћамо вредност атрибута помоћу методе „гетАттрибуте ()“.

Ево шифре

импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.цхроме.ЦхромеДривер;импорт орг.опенка.селениум. *;ТоолТип јавне класе {јавна статичка воид главна (Стринг [] аргс) {Стринг басеУрл = "хттп://демо.гуру99.цом/тест/социал-ицон.хтмл";Систем.сетПроперти ("вебдривер.цхроме.дривер", "Г: \\ цхромедривер.еке");Управљачки програм за ВебДривер = нови ЦхромеДривер ();дривер.гет (басеУрл);Стринг очекујеТоолтип = "Гитхуб";// Пронађите икону Гитхуб у горњем десном углу заглављаВебЕлемент гитхуб = дривер.финдЕлемент (Би.кпатх (".//*[@ цласс = 'соц-ицо схов-роунд'] / а [4]"));// добијемо вредност атрибута "титле" иконе гитхубСтринг ацтуалТоолтип = гитхуб.гетАттрибуте ("наслов");// Утврдите да је вредност описа описана према очекивањимаСистем.оут.принтлн ("Стварни наслов савета алата" + стварниТоолтип);иф (ацтуалТоолтип.екуалс (очекује сеТоолтип)) {Систем.оут.принтлн („Тест Цасе Пассед“);}дривер.цлосе ();}}

Објашњење кода

  1. Пронађите ВебЕлемент који представља икону „гитхуб“.
  2. Набавите његов атрибут „титле“ помоћу методе гетАттрибуте ().
  3. Процијените вриједност према очекиваној вриједности описа.

Сценариј 2: Додатак ЈКуери:

Доступно је пуно додатака ЈКуери за имплементацију описа алата, а сваки има мало другачији облик имплементације.

Неки додаци очекују да ХТМЛ с описом алатке буде присутан све време поред елемента за који је применљив опис, док други креирају динамичку „див“ ознаку која се појављује у лету док лебди изнад елемента.

За нашу демонстрацију, размотримо начин примене описа „јКуери Тоолс Тоолтип“.

Овде у УРЛ-у - хттп://демо.гуру99.цом/тест/тоолтип.хтмл можете видети демонстрацију где када мишем задржите показивач изнад „Преузми одмах“, добијамо напредни опис са сликом, позадином додатног описа, табелом и везу унутар које се може кликнути.

Ако погледате извор испод, можете видети да је ознака див која представља опис, увек присутна поред ознаке везе „Преузми одмах“. Али, код унутар доње ознаке скрипте контролише када треба искочити.

Покушајмо да верификујемо само текст везе у опису алата за нашу демонстрацију овде.

Прво ћемо пронаћи ВебЕлемент који одговара „Преузми одмах“. Затим ћемо помоћу интерактивног АПИ-ја прећи на елемент (задржавање миша). Затим ћемо пронаћи ВебЕлемент који одговара вези унутар приказаног описа и потврдити га у односу на очекивани текст.

Ево шифре

импорт орг.опенка.селениум.интерацтионс.Ацтион;импорт орг.опенка.селениум.интерацтионс.Ацтионс;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.цхроме.ЦхромеДривер;импорт орг.опенка.селениум. *;јавна класа ЈкуериТоолТип {јавна статичка воид главна (Стринг [] аргс) {Стринг басеУрл = "хттп://демо.гуру99.цом/тест/тоолтип.хтмл";Систем.сетПроперти ("вебдривер.цхроме.дривер", "Г: \\ цхромедривер.еке");Управљачки програм за ВебДривер = нови ЦхромеДривер ();Стринг очекујеТоолтип = "Шта је ново у 3.2";дривер.гет (басеУрл);ВебЕлемент довнлоад = дривер.финдЕлемент (Би.кпатх (".//*[@ ид = 'довнлоад_нов']"));Буилдер акција = нове акције (покретачки програм);буилдер.цлицкАндХолд (). мовеТоЕлемент (преузимање);буилдер.мовеТоЕлемент (преузимање) .буилд (). перформ ();ВебЕлемент тоолТипЕлемент = дривер.финдЕлемент (Би.кпатх (".//*[@ цласс = 'бок'] / див / а"));Стринг ацтуалТоолтип = тоолТипЕлемент.гетТект ();Систем.оут.принтлн ("Стварни наслов савета алата" + стварни тип описа);иф (ацтуалТоолтип.екуалс (очекује сеТоолтип)) {Систем.оут.принтлн („Тест Цасе Пассед“);}дривер.цлосе ();}}

Објашњење кода

  1. Пронађите ВебЕлемент који одговара елементу „преузми одмах“ на који ћемо лебдети мишем.
  2. Користећи АПИ за интеракције, поставите показивач миша на „Преузми одмах“.
  3. Под претпоставком да је приказан опис, пронађите ВебЕлемент који одговара вези унутар описа, односно ознаку "а".
  4. Проверите да ли је текст описа везе добијен помоћу гетТект () у односу на очекивану вредност коју смо сачували у „очекиваномТоолТип“

Резиме:

У овом упутству научили сте како да приступите описима алата помоћу управљачког програма Селениум Веб.

  • Савети за алате се примењују на различите начине -
    • Основна имплементација се заснива на ХТМЛ-овом атрибуту „титле“. гетАттрибуте (титле) добија вредност описа.
    • Друге примене савета алата попут ЈКуери-а, ЦСС-ови алати захтевају АПИ за интеракцију да би се створио ефект лебдења миша
  • АПИ за напредне корисничке интеракције
    • мовеТоЕлемент (елемент) класе Ацтионс користи се за задржавање миша на елементу.
    • Начин Буилд () класе Ацтионс гради секвенцу корисничких акција у објект Ацтион.
    • Класа Перформ () класе Ацтион извршава све секвенце корисничких радњи одједном.
  • Да бисмо верификовали опис алата, прво морамо прећи мишем преко елемента, а затим пронаћи елемент који одговара врху алата и добити његов текст или друге вредности за верификацију у односу на очекиване вредности.