ТестНГ: Како покренути више пробних пакета у селенијуму

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

Anonim

ТестНГ вам омогућава паралелно покретање метода испитивања, класа тестирања и тест случајева унутар вашег пројекта. Извођењем паралелног извршавања можемо смањити 'време извршења' како се тестови истовремено покрећу и извршавају у различитим нитима.

Овде ћемо видети како да покренемо више класа (познатих и као различити пакети) користећи ТестНГ.

Корак 1) Стварање датотеке ТестНГ.кмл за извршавање теста

Да бисте то урадили, следите кораке у наставку.

  1. Направите нови пројекат у ецлипсеу
  2. Направите два пакета у пројектима (назовите их цом.суите1 и цом.суите2)
  3. Направите класу у сваком пакету (назовите их Флипкарт.јава и Снапдеал.јава) и копирајте доњи код у одговарајуће класе
  4. Направите нову датотеку у свом пројекту и назовите је као тестнг.кмл (Обавезно инсталирајте додатак за тестирање за ецлипсе, упутства доступна овде). Тестнг.кмл садржи сву конфигурацију (имена класа, имена тестова и имена одеће.

Флипкарт.јава

пакет цом.суите1;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Алерт;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.опенка.селениум.интерацтионс.Ацтионс;импорт орг.тестнг.аннотатионс.АфтерЦласс;импорт орг.тестнг.аннотатионс.БефореЦласс;импорт орг.тестнг.аннотатионс.Тест;јавни разред Флипкарт {Управљачки програм за ВебДривер = нови ФирефокДривер ();Стринг корисничко име = ""; // Промените своје корисничко име и лозинкуСтринг лозинка = "";// Овај метод служи за кретање по УРЛ-у флипкарта@Пре наставејавна воид инит () {дривер.манаге (). виндов (). макимизе ();дривер.манаге (). тимеоутс (). имплицитноВаит (60, ТимеУнит.СЕЦОНДС);дривер.навигате (). то ("хттпс://ввв.флипкарт.цом");}// За пријављивање на флипкарт@Тестјавна воид пријава () {дривер.финдЕлемент (Би.партиалЛинкТект ("Пријава")). цлицк ();дривер.финдЕлемент (Би.цссСелецтор (". Фк-инпут.логин-форм-инпут.усер-емаил")).сендКеис (корисничко име);дривер.финдЕлемент (Би.цссСелецтор (". Фк-инпут.логин-форм-инпут.усер-пвд")).сендКеис (лозинка);дривер.финдЕлемент (Би.цссСелецтор (". субмит-бтн.логин-бтн.бтн")). цлицк ();}// Претрага производа@Тестпублиц воид сеарцхАндСелецтПродуцт () {дривер.финдЕлемент (Би.ид ("фк-топ-сеарцх-бок")). сендКеис ("мото г3");дривер.финдЕлемент (Би.цссСелецтор ("сеарцх-бар-субмит.фк-фонт-13.фк-фонт-болд")).цлицк ();// изаберите прву ставку у резултатима претрагеСтринг цсс = ".гд-ров.бровсе-грид-ров: нтх-оф-типе (1)> див: нтх-цхилд (1)> див> див: нтх-цхилд (2)> див> а";дривер.финдЕлемент (Би.цссСелецтор (цсс)). цлицк ();}@Тестјавна воид буиАндРемовеФромЦарт () {дривер.финдЕлемент (Би.цссСелецтор (". Бтн-екпресс-цхецкоут.бтн-биг.цуррент")).цлицк ();дривер.финдЕлемент (Би.цссСелецтор (". ремове.фк-инлине-блоцк")). цлицк ();Упозорење а = дривер.свитцхТо (). Алерт ();а.аццепт ();}@Тестјавна воид одјава () {Акције с = нове акције (покретачки програм);ВебЕлемент усер = дривер.финдЕлемент (Би.партиалЛинкТект (корисничко име));с.мовеТоЕлемент (корисник) .буилд (). перформ ();дривер.финдЕлемент (Би.линкТект ("Одјава")). цлицк ();}@После часајавна воид куит () {дривер.цлосе ();}}

СнапДеал.јава

пакет цом.суите2;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Алерт;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.опенка.селениум.интерацтионс.Ацтионс;импорт орг.тестнг.аннотатионс.АфтерЦласс;импорт орг.тестнг.аннотатионс.БефореЦласс;импорт орг.тестнг.аннотатионс.Тест;јавна класа СнапДеал {Управљачки програм за ВебДривер = нови ФирефокДривер ();Стринг корисничко име = ""; // Промените своје корисничко име и лозинкуСтринг лозинка = "";Стринг пинЦоде = "";// Овај метод служи за кретање по снапдеал УРЛ-у@Пре наставејавна воид инит () {дривер.манаге (). виндов (). макимизе ();дривер.манаге (). тимеоутс (). имплицитноВаит (60, ТимеУнит.СЕЦОНДС);дривер.навигате (). то ("хттпс://ввв.снапдеал.цом");}// За пријављивање на флипкарт@Тестјавна воид пријава () {дривер.финдЕлемент (Би.кпатх ("// дугме [текст () = 'Пријава']")). цлицк ();дривер.свитцхТо (). фраме ("логинИфраме");дривер.финдЕлемент (Би.цссСелецтор ("див [онЦлицк = 'гетЛогинФорм ()']")).цлицк ();дривер.финдЕлемент (Би.ид ("ј_усернаме")). сендКеис (корисничко име);дривер.финдЕлемент (Би.ид ("ј_пассворд_логин")). сендКеис (лозинка);дривер.финдЕлемент (Би.ид ("сигнин_субмит")). цлицк ();дривер.свитцхТо (). дефаултЦонтент ();}// Претрага производа@Тестпублиц воид сеарцхАндСелецтПродуцт () {дривер.финдЕлемент (Би.цссСелецтор (". цол-кс-20.сеарцхформИнпут.кеиворд")).сендКеис („ипхоне 6с“);дривер.финдЕлемент (Би.цссСелецтор (". сд-ицон.сд-ицон-сеарцх")). цлицк ();// изаберите прву ставку у резултатима претрагеСтринг цсс = ".продуцт_грид_ров: нтх-оф-типе (1)> див: нтх-цхилд (1)";дривер.финдЕлемент (Би.цссСелецтор (цсс)). цлицк ();}@Тестјавна воид буиАндРемовеФромЦарт () {дривер.финдЕлемент (Би.кпатх ("// ли ​​[садржи (текст (), 'Сребро')]")). цлицк ();дривер.финдЕлемент (Би.ид ("провера пинцоде-а")). сендКеис (пинЦоде);дривер.финдЕлемент (Би.ид ("буи-буттон-ид")). цлицк ();дривер.финдЕлемент (Би.цссСелецтор ("и [титле = 'Избриши ставку']")). цлицк ();Упозорење а = дривер.свитцхТо (). Алерт ();а.аццепт ();}@Тестјавна воид одјава () {дривер.финдЕлемент (Би.линкТект ("ЗАПОЧНИ КУПОВИНУ ОДМАХ")). цлицк ();Акције с = нове акције (покретачки програм);ВебЕлемент усер = дривер.финдЕлемент (Би.цссСелецтор (". Сд-ицон.сд-ицон-усер"));с.мовеТоЕлемент (корисник) .буилд (). перформ ();дривер.финдЕлемент (Би.линкТект ("Одјава")). цлицк ();}@После часајавна воид куит () {дривер.цлосе ();}}

ТестНг.кмл

<суите тхреад-цоунт = "1" вербосе = "1" наме = "Гмаил Суите" аннотатионс = "ЈДК" парал = "тестс"><тест наме = "флипкарт"><класе><цласс наме = "цом.суите1.Флипкарт" /><тест наме = "Минтра"><класе><цласс наме = "цом.суите2.СнапДеал" />

Коначна структура пројекта изгледа доле,

Корак 2) Паралелно извршавање у ТестНГ-у

Након креирања кмл датотеке, као што је приказано горе, у следећем кораку извршићемо паралелни тест. Испод је код.

1) цоунт-тхреад : Ово се користи за паралелно извршавање, на основу скрипте броја. Извршиће се паралелно или секвенцијално.

2) вербосе : Користи се за евидентирање детаља извршења у конзоли. Вредност треба да буде 1-10. Детаљи дневника у прозору конзоле постаће детаљнији и јаснији како повећавате вредност детаљног атрибута у конфигурационој датотеци тестнг.кмл.

3) име : Назив апартмана. Ево га „Гмаил Суите“

4) Паралелно : За паралелно покретање скрипти вредност може бити тестови / класе / методе / пакети. Подразумевана вредност је ниједна

Кликните десним тастером миша на тестнг.кмл и одаберите рун ас тестинг, када успете, видећете све резултате

Када извршите горњи код, добићете следећи излаз.

Излаз:

1) име пакета дато у тестнг.кмл

2) назив теста наведен у тестнг.кмл

3) назив класе наведен у тестнг.кмл

4) имена метода означена са @Тест у .јава датотеци

Исто тако, извршиће и тест пакет за снап деал.

Закључак:

Овде смо видели у горњем примеру, како користити Тестнг за извршавање паралелног теста. ТестНГ даје могућност извођења вишеструких тестова паралелно у једној конфигурационој датотеци (КСМЛ).