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

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

Anonim

Класа робота

Класа робота у селенијуму користи се за омогућавање аутоматског тестирања за имплементације Јава платформе. Генерише улазне догађаје у матичним системима за аутоматизацију тестова, самосталне демонстрације и друге апликације где корисници требају контролу над мишем и тастатуром. Класа робота је једноставна за имплементацију и може се лако интегрисати са аутоматизованим оквиром.

Зашто класа робота?

Робот Цласс се користи у селенијуму, јер је у одређеним тестовима аутоматизације селениума корисницима потребна контрола над тастатуром или мишем за интеракцију са прозорима ОС-а попут искачућих прозора за преузимање, искачућих прозора итд. И изворних апликација попут бележнице, калкулатора итд. Вебдривер не може да обрађује ове искачуће прозоре / апликације, па је у Јави верзији 1.3 уведена класа робота која може да обрађује искачуће прозоре / апликације ОС-а.

У овом упутству ћете научити,

  • Предности класе робота
  • Документација класе робота
  • Разумевање интерних метода и употребе Робот Цласс
  • Како извршити код класе робота користећи тестНГ
  • Неповољности класе робота

Предности класе робота

  1. Класа робота може да симулира догађај тастатуре и миша
  2. Робот Цласс може да помогне у отпремању / преузимању датотека када се користи управљачки програм селена
  3. Класа робота може се лако интегрисати са тренутним оквиром за аутоматизацију (кључна реч, подаци или хибрид)

Шта је документација класе робота?

Робот класа Документација у селена помаже корисницима да разумеју основну дефиницију, синтаксу и коришћење свих метода и функције које су доступне у робота класе у Јава АВТ пакета. Корисници могу погледати документацију на службеној веб локацији Орацле. Корисници такође могу сами да креирају документацију на свом локалном рачунару.

Да бисте креирали документацију на локалној машини, следите кораке испод -

Корак 1) Пронаћи ћете датотеку срц.зип у директоријуму ЈДК. Копирајте срц.зип и извуците исти у неку другу фасциклу или директоријум (рецимо Д: или Е:)

Корак 2) Издвојите срц директоријум и идите до (путања до директоријума срц) / срц / јава / авт

Корак 3) Копирајте тренутну локацију фасцикле авт и отворите командну линију.

Корак 4) У цмд, промените тренутну локацију директоријума у ​​авт директоријум и откуцајте 'јавадоц * .јава' као што је приказано испод

Сачекајте неко време док се систем не обради, након завршетка видећете неколико ХТМЛ датотека у авт фолдеру.

Корак 5) Отворите индек.хтмл

Корак 6) Овде имате комплетну документацију за авт пакет, са леве траке за навигацију кликните на хипервезу „Робот“ (погледајте 1 означено на доњој слици).

Овде такође можете видети све методе и интерфејсе класе робота (видети 2 означено на горњој слици).

Разумевање интерних метода и употребе Робот Цласс

Методе класе робота могу се користити за интеракцију са догађајима са тастатуре / миша током аутоматизације прегледача. Алтернативно се може користити АутоИТ, али његов недостатак је што генерише извршну датотеку (еке) која ће радити само на прозорима, па није добра опција за употребу.

Неке најчешће и популарно коришћене методе класе робота током веб аутоматизације:

  • кеиПресс (): Пример: робот.кеиПресс (КеиЕвент.ВК_ДОВН): Овај метод притиском на тастер са стрелицом надоле на тастатури
  • моусеПресс (): Пример : робот.моусеПресс (ИнпутЕвент.БУТТОН3_ДОВН_МАСК): Ова метода ће притиснути десни клик миша.
  • моусеМове (): Пример : робот.моусеМове (поинт.гетКс (), поинт.гетИ ()): Ово ће померити показивач миша на наведене Кс и И координате.
  • кеиРелеасе (): Пример: робот.кеиРелеасе (КеиЕвент.ВК_ДОВН): Ова метода са пуштањем тастера са стрелицом надоле на тастатури
  • моусеРелеасе (): Пример: робот.моусеРелеасе (ИнпутЕвент.БУТТОН3_ДОВН_МАСК): Ова метода ће отпустити десни клик миша

Узорак кода за аутоматизацију уобичајених случајева употребе помоћу класе робота

  • Узмимо пример веб странице хттп: //спреадсхеетпаге.цом/индек.пхп/филе/Ц35/П10/ у којој након што кликнете на веб елемент ( .//а[@хреф=цонтаинс(тект(),'иеарли- цалендар.клс '] ) појављује се искачући прозор за преузимање ОС-а.
  • Да бисмо то решили користимо класу Робот (стварањем инстанце Робот Цласс у вашем коду рецимо Робот робот = нев Робот () ). Класа робота присутна је у АВТ пакету ЈДК.
  • Да притиснемо тастер са стрелицом надоле на тастатури ( робот.кеиПресс (КеиЕвент.ВК_ДОВН))
  • Да притиснете тастер ТАБ на тастатури (користимо робот.кеиПресс (КеиЕвент.ВК_ТАБ))
  • Да бисмо притиснули тастер Ентер, користимо ( робот.кеиПресс (КеиЕвент.ВК_ЕНТЕР)).

Ево примера кода

импорт јава.авт.АВТЕкцептион;импорт јава.авт.Робот;импорт јава.авт.евент.КеиЕвент;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.фирефок.ФирефокДривер;класа Вежба1 {публиц статиц воид маин (Стринг [] аргс) баца АВТЕкцептион, ИнтерруптедЕкцептион {Управљачки програм за ВебДривер = нови ФирефокДривер ();дривер.гет ("хттп://спреадсхеетпаге.цом/индек.пхп/филе/Ц35/П10/"); // УРЛ адресадривер.финдЕлемент (Би.кпатх (".// а [@ хреф = цонтаинс (тект (), 'иеарли-цалендар.клс')]")). цлицк ();Робот робот = нови Робот (); // Класа робота баца АВТ изузетакТхреад.слееп (2000); // Тхреад.слееп баца ИнтерруптедЕкцептионробот.кеиПресс (КеиЕвент.ВК_ДОВН); // притисните тастер са стрелицом надоле на тастатури за навигацију и изаберите радио дугме СачувајТхреад.слееп (2000); // спавање се користи само за приказивање сваког догађаја одвојеноробот.кеиПресс (КеиЕвент.ВК_ТАБ);Тхреад.слееп (2000);робот.кеиПресс (КеиЕвент.ВК_ТАБ);Тхреад.слееп (2000);робот.кеиПресс (КеиЕвент.ВК_ТАБ);Тхреад.слееп (2000);робот.кеиПресс (КеиЕвент.ВК_ЕНТЕР);// притисните тастер ентер на тастатури да бисте извршили горе одабрану радњу}} 

Погледајте овај видео да бисте га видели на делу

Како извршити код класе робота користећи ТестНГ

Пошто сте сада упознати са основним методама класе робота, хајде да разумемо још неколико сложених метода -

Претпоставимо да не желите да користите методу клика за кликање на веб елемент.

У таквим случајевима можете користити методу моусеМове класе Робот.

Корак 1) метода моусеМове узима к и и координате као параметре попут робот.моусеМове (630, 420) где 630 означава к-осу, а 420 означава и-осу. Дакле, овај метод ће померити показивач миша са тренутне локације на поменуту тачку пресека к и и.

Корак 2) Затим треба да притиснемо тастер миша. Можемо користити методу моусеПресс попут робот.моусеПресс (ИнпутЕвент.БУТТОН1_ДОВН_МАСК) .

Корак 3) Након притиска, миш треба отпустити. Можемо користити робот.моусеРелеасе (ИнпутЕвент.БУТТОН1_ДОВН_МАСК ) како бисмо отпустили леви клик миша.

Покретање кода помоћу тестНГ:

Покретање кода помоћу Тестнг-а захтева мавен зависност тестНГ-а или референциране библиотеке ТестНГ јар датотеке.

ТестНГ зависност од мавена:

<зависност><гроупИд> орг.тестнг <артифацтИд> тестнг <версион> 6.1.1  

Након додавања мавен зависности или јар датотеке. Морате да увезете пробну напомену за тестНГ. Када све завршите, само кликните десним тастером миша на програмски код и кликните на Рун Ас, а затим на ТестНГ

... и открићете да ће код започети своје извршавање помоћу тестНГ АПИ-ја.

Ево шифре

импорт јава.авт.АВТЕкцептион;импорт јава.авт.Робот;импорт јава.авт.евент.ИнпутЕвент;импорт јава.авт.евент.КеиЕвент;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.аннотатионс.Тест;јавни разред Екцерсисе1 {@Тестјавно статично воид извршење () баца ИнтерруптедЕкцептион, АВТЕкцептион {Управљачки програм за ВебДривер = нови ФирефокДривер ();дривер.манаге (). виндов (). макимизе ();дривер.гет ("хттп://спреадсхеетпаге.цом/индек.пхп/филе/Ц35/П10/"); // УРЛ адресаРобот робот = нови Робот ();робот.моусеМове (630, 420); // премештање тачке миша на одређено месторобот.делаи (1500); // кашњење је да се код учини да чека поменуте милисекунде пре извођења следећег коракаробот.моусеПресс (ИнпутЕвент.БУТТОН1_ДОВН_МАСК); // притисните леви кликробот.моусеРелеасе (ИнпутЕвент.БУТТОН1_ДОВН_МАСК); // отпустите леви кликробот.делаи (1500);робот.кеиПресс (КеиЕвент.ВК_ДОВН); // притисните тастер са стрелицом на тастатури да бисте изабрали радио дугме СачувајТхреад.слееп (2000);робот.кеиПресс (КеиЕвент.ВК_ЕНТЕР);// притисните тастер ентер на тастатури да бисте извршили горе одабрану радњу}}

Погледајте овај видео да бисте га видели на делу

Мане класе робота

Уређај робота има неколико недостатака наведених у наставку:

  1. Догађај кључне речи / миша ради само на тренутној инстанци Виндовса. Нпр. Претпоставимо да код изводи било који догађај класе робота, а током извршавања кода корисник се преселио на неки други екран, тада ће се на том екрану појавити догађај кључне речи / миша.
  2. Већина метода као што је моусеМове зависи од резолуције екрана, тако да постоји шанса да код који ради на једној машини неће радити на другој.

Резиме

Класа робота у АВТ пакету користи се за генерисање догађаја са тастатуре / миша за интеракцију са Виндовс прозорима и изворним апликацијама.

Примарна сврха Робота је да подржи изградњу аутоматизованих тестова за тестирање селена на Јава платформи

Овај чланак је дао Рамандееп Сингх, инжењер за аутоматизацију испитивања у водећем МНЦ-у.