Клик мишем & амп; Догађај на тастатури: Акција у програму Селениум Вебдривер

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

Anonim

У овом упутству научићемо руковање догађајима са тастатуре и миша у програму Селениум Вебдривер

Час акције у селену

Ацтион Цласс у селенију је уграђена функција коју пружа селен за руковање догађајима на тастатури и мишу. Укључује разне операције, као што су кликови вишеструких догађаја помоћу контролног тастера, превлачење и испуштање догађаја и још много тога. Ове операције из класе акција изводе се помоћу напредног АПИ-ја за интеракцију са корисником у програму Селениум Вебдривер.

Руковање догађајима са тастатуром и мишем

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

Метод Опис
цлицкАндХолд () Кликови (без пуштања) на тренутној локацији миша.
цонтектЦлицк () Изводи контекстни клик на тренутној локацији миша. (Десни клик миша)
дупли клик() Изводи двоклик на тренутној локацији миша.
драгАндДроп (извор, циљ) Изводи кликање и задржавање на локацији изворног елемента, помера се на локацију циљног елемента, а затим отпушта миш. Параметри: изворни елемент за емулацију дугмета доле на.таргет- елемент за померање и отпуштање миша.
драгАндДропБи (извор, к-офсет, и-оффсет) Изводи клик и задржавање на месту изворног елемента, помера се за дати помак, а затим отпушта миш. Параметри : извор- елемент за емулацију дугмета надоле на.кОффсет- помак хоризонталног померања.иОффсет- помак вертикалног помицања.
кеиДовн (модифиер_кеи) Изводи модификациони притисак тастера. Не пушта тастер модификатора - наредне интеракције могу претпоставити да је притиснуто. Параметри : модифиер_кеи - било који од тастера модификатора (Кеис.АЛТ, Кеис.СХИФТ или Кеис.ЦОНТРОЛ)
кеиУп (модификатор _кеи) Изводи отпуштање кључа. Параметри : модифиер_кеи - било који од тастера модификатора (Кеис.АЛТ, Кеис.СХИФТ или Кеис.ЦОНТРОЛ)
мовеБиОффсет (к-офсет, и-оффсет) Помиче миш са тренутног положаја (или 0,0) за задати помак. Параметри : к-оффсет - хоризонтални помак. Негативна вредност значи померање миша улево.и-оффсет- вертикални помак. Негативна вредност значи померање миша надоле.
мовеТоЕлемент (тоЕлемент) Премешта миша у средину елемента. Параметри : тоЕлемент- елемент у који се премешта.
издање() Отпушта притиснуто лево дугме миша на тренутној локацији миша
сендКеис (онЕлемент, цхарсекуенце) Шаље низ притиска на тастер на елемент. Параметри : онЕлемент - елемент који ће примити притиске тастера, обично след текста поља - било која вредност низа која представља редослед притиска тастера који се шаљу

У следећем примеру користићемо методу мовеТоЕлемент () за прелазак мишем преко једног реда табеле Мерцури Тоурс-а. Погледајте пример испод.

Горе приказана ћелија је део елемента <ТР>. Ако се не задржи, боја је # ФФЦ455 (наранџаста). Након лебдења, боја ћелије постаје прозирна. Постаје исте боје као плава позадина целог наранџастог стола.

Корак 1: Увезите класе Акције и Акције .

Корак 2: Инстанцирајте нови објект Акције.

Корак 3: Инстанцирајте радњу помоћу објекта „Ацтион“ у кораку 2.

У овом случају ћемо користити методу мовеТоЕлемент () јер ћемо једноставно прећи мишем преко везе „Почетна“. Метода буилд () је увек коначна метода која се користи, тако да ће све наведене радње бити састављене у један корак.

Корак 4: Користите методу перформ () приликом извршавања објекта Ацтион који смо дизајнирали у кораку 3.

Испод је читав ВебДривер код за проверу боје позадине елемента <ТР> пре и после преласка мишем.

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

Доњи излаз јасно наводи да је боја позадине постала прозирна након преласка мишем.

Стварање низа вишеструких акција

Можете да направите низ акција користећи класе Ацтион анд Ацтионс . Само не заборавите да затворите серију методом буилд (). Размотрите доњи пример узорка.

јавна статичка воид главна (Стринг [] аргс) {Стринг басеУрл = "хттп://ввв.фацебоок.цом/";Управљачки програм за ВебДривер = нови ФирефокДривер ();дривер.гет (басеУрл);ВебЕлемент тктУсернаме = дривер.финдЕлемент (Би.ид ("емаил"));Буилдер акција = нове акције (покретачки програм);Ацтион сериесОфАцтионс = градитељ.мовеТоЕлемент (тктУсернаме).цлицк ().кеиДовн (тктУсернаме, Кеис.СХИФТ).сендКеис (тктУсернаме, "хелло").кеиУп (тктУсернаме, Кеис.СХИФТ).доублеЦлицк (тктУсернаме).цонтектЦлицк ().буилд ();сериесОфАцтионс.перформ ();}

Резиме

  • Руковање посебним догађајима са тастатуре и миша врши се помоћу АПИ-ја АдванцедУсерИнтерацтионс.
  • Догађаји кључних речи и миша који се често користе су доублеЦлицк (), кеиУп, драгАндДропБи, цонтектЦлицк & сендКеис.