Водич за почетнике у Селендроиду са примером

Да ли сте икада развили Андроид апликацију и објавили је на Гоогле Плаи-у? Шта ћете урадити ако добијете корисничку рецензију попут -

Када објавите апликацију на Гоогле Плаи-у, мора бити добро тестирана да би се избегле потенцијалне грешке. Постоји мноштво тест сценарија који би требало да се изврше пре објављивања апликације. Да бисте уштедели напор тестирања, потребан вам је алат за тестирање. Један од најбољих алата за тестирање за Андроид апликацију је Селендроид.

  • Шта је Селендроид?
  • Зашто нам је потребан Селендроид?
  • Селендроид Арцхитецтуре
  • Први кораци са Селендроидом
  • Постављање Селендроид окружења
  • Како покренути Селендроид
  • Основна команда Селендроид
  • Започните свој први тест са Селендроидом

Шта је Селендроид?

Селендроид је тестни систем аутоматизације за више врста мобилних апликација: изворну и хибридну Андроид апликацију и мобилни веб.

Тестове можете да напишете помоћу АПИ-ја клијента Селениум 2. Зато што Селендроид и даље поново користи постојећу селенијску инфраструктуру за веб

Селендроид је моћан алат за тестирање. Може се користити на емулаторима и стварним уређајима

Зашто нам је потребан Селендроид?

Селендроид је одличан алат за тестирање. Али и даље можете сумњати у његову корисност.

Овај одељак ће представити важне карактеристике Селендроид-а да би одговорио на питање зашто вам је потребан Селендроид.

  • Можете тестирати тестирану апликацију помоћу Селендроид-а без икаквих модификација апликације. Треба вам само бинарна датотека (АПК) инсталирана на рачунару. Да бисте инсталирали бинарну датотеку на уређај, тест апликација и мобилна апликација морају бити потписани истим кључем знака
  • Апликација за тестирање Селендроид може истовремено да комуницира са више уређаја или симулатора. То је велика предност Селендроид-а. Тако можете да тестирате своју апликацију на различитим Андроид уређајима да бисте проверили компатибилност.
  • Селендроид може да симулира радње човека и корисника у апликацији, попут додира, превлачења, превлачења и испуштања на уређајима
  • Можете да промените хардверске уређаје (прикључите и искључите) током тестирања без поновног покретања или заустављања теста. Селендроид аутоматски препознаје нове уређаје
  • Одговарајући верзији Андроид АПИ-ја, Селендроид такође подржава нови Андроид АПИ (од АПИ 10 до АПИ 19)
  • Селендроид такође има уграђени алат за инспекцију који вам помаже да идентификујете УИ елемент апликације која се тестира. На пример, дугме ИД, поље за текст, приказ текста ...

Селендроид Арцхитецтуре

Селендроид је заснован на Андроид инструмент оквиру. Селендроид тестови су написани на АПИ-ју клијента Селениум Веб дривер, тако да подржава потпуну интеграцију са тренутним Селениум оквирима.

Следећа слика описује архитектуру Селендроид-а

Селендроид садржи 4 главне компоненте:

  • Клијент веб управљачког програма - библиотека Јава клијента заснована на селенијуму. Ову библиотеку треба инсталирати на рачунар (који се користи за развој тест случајева)
  • Селендроид-Сервер - сервер који се покреће у апликацији која се тестира на Андроид уређају или симулатору. Ово су главне компоненте архитектуре Селендроид
  • Андроид Дривер-Апп - уграђени Андроид управљачки програм, апликација Веб Виев за тестирање мобилног веба.
  • Селендроид-Стандалоне - Ова компонента се користи за инсталирање селендроид сервера и апликације која се тестира (АУТ)

Први кораци са Селендроидом

Већ сте знали значај Селендроида. А сада, упрљајмо руке Селендроидом.

Треба извршити 3 корака пре првог теста са Селендроидом

Постављање Селендроид окружења

Селендроид може радити на Виндовсу, Линуку и Мац ОС-у. У овом упутству ћемо подесити Селендроид у Виндов ОС-у.

Пре употребе Селендроид-а, прво морате да инсталирате следећи пакет

  • Јава СДК (најмање 1,6)

    Морате прихватити уговор о лиценци и преузети јава инсталациони програм (одаберите к64 или к86 базу на вашем ОС-у)

    Преузмите и инсталирајте Јава СДК као уобичајени софтвер

  • Најновија верзија Андроид СДК-а
  • Рачунар мора да има најмање један Андроид виртуелни уређај (АВД) или прави Андроид уређај прикључен на рачунар.
  • Селендроид Стандалоне са зависностима, Селендроид клијент и селениум клијент
  • Ецлипсе софтвер
  • Подесите ЈАВА_ХОМЕ и АНДРОИД_ХОМЕ

    Корак 1) У прозору кликните десним тастером миша на Рачунар -> Својства -> Напредно подешавање система

    Корак 2) Приказ прозора Својства система, одаберите картицу Напредно -> Променљиве околине

    Корак 3) Приказ прозора Окружење, кликните Ново -> Унесите променљиву АНДРОИД_ХОМЕ на следећи начин

    Вредност променљиве је пут до андроид-сдкс који сте већ инсталирали.

    Пронађите системску променљиву Путања -> Уреди -> Додајте следећи ред након тренутне линије

    Слично АНДРОИД_ХОМЕ, додајте нову променљиву ЈАВА_ХОМЕ са вредношћу као испод

    Вредност је Пут до ваше Јава ЈДК инсталације

    Корак 4) Поново покрените рачунар -> Готово

Како покренути Селендроид

Корак 1) Добивање апликације на тест

Можете да користите постојећу тестну апликацију Селендроид да бисте проверили како функционише Селендроид (веза до узорка апликације која се тестира)

Када се преузимање заврши, копирајте овај АПК и горњу датотеку јар јар Селендроид Стандалоне у директоријум са именом „ Гуру99“

Корак 2) Покрените Селендроид

Отворите терминал на Виндовс-у и идите до директоријума Гуру99 створеног у кораку 1.

Покрените следећу команду

Излаз ће се приказати на следећи начин

Након покретања ове команде, селендроид-самостални ХТТП сервер се покреће! Подразумевани број порта овог сервера је 4444. Сви хардверски уређаји, као и Андроид виртуелни уређај, биће аутоматски скенирани и препознати. Селендроид ће идентификовати циљну верзију Андроид-а и величину екрана уређаја.

Да бисте проверили Андроид циљну верзију, као и информације о уређају, можете да покренете следећу УРЛ адресу у прегледачу:

хттп: // лоцалхост: 4444 / вд / хуб / статус.

Основна команда Селендроид

Овај одељак вам представља неколико основних командних линија Селендроид-Стандалоне. Можете их користити за подешавање окружења за тестирање Селендроид

  1. Подешавање порта Селендроид-а

    Подразумевани порт Селендроид-а је 4444. Али можете променити други порт додавањем параметра у наредбу за покретање Селендроид-а

    Параметар: -порт [број порта]

    На пример:

    У горњој команди, 5555 је нови порт.

Дакле, УРЛ за проверу Андроид верзије циља је промењен у: хттп: // лоцалхост: 5555 / вд / хуб / статус

  1. Наведите локацију апликације која се тестира (бинарна АПК датотека). Селендроид је често захтевао апсолутни пут за ову датотеку

    Параметар: -апп [путања датотеке]

    На пример:

    У горњој команди, Селендроид аутоматски проналази базу бинарних датотека на „Ц: \ Гуру99Апп.апк“ да би добио информације о апликацији која се тестира.

    Проверите УРЛ хттп: // лоцалхост: 4444 / вд / хуб / статус, видећете ове информације

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

    Параметар: -селендроидСерверПорт [број порта]

    Пример

    Лука је сада промењена у 9000

  3. Промените време чекања да бисте покренули емулаторе. Јединица је милисекунде.

    Параметар: -тимеоутЕмулаторСтарт

    Подразумевано ће Селендроид сачекати 300.000 милисекунди док се емулатор не покрене. Наредбом можете да пређете на ново временско ограничење (200 000 мс)

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

  4. Када покренете команду Селендроид на терминалу, видећете дневник исписан на екрану. Тип дневника који видите можете додати додавањем следећег параметра

    Параметар: -логЛевел [врста дневника]

    Вредности нивоа дневника су ГРЕШКА, УПОЗОРЕЊЕ, ИНФО, ДЕБУГ и ВЕРБОСЕ. Подразумевано: ГРЕШКА.

    На пример, поставите Селендроид да штампа само дневник УПОЗОРЕЊА, можете користити ову наредбу

    Селендроид штампа само дневник УПОЗОРЕЊА

Започните свој први тест са Селендроидом

Овај одељак је корак по корак водич за креирање прве тест скрипте помоћу програма Селендроид

Претпоставимо да имамо Андроид апликацију под тест именом Гуру99Апп. Апликација укључује текстуално поље и назив дугмета „Прикажи текст“.

ПРЕУЗМИТЕ АПК ОВДЕ

Треба да извршимо следећи тест случај користећи Селендроид

Тест случајева

Стање

Очекивани излаз:

  1. Покрените апликацију
  2. У текстуално поље унесите текст „ Гуру99 Тест
  3. Притисните дугме „Прикажи текст“

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

Уређај је повезан са рачунаром

Текст „Тект Схов хере“ се мења у текст

који корисник уноси у текстуално поље

Корак 1) Направите Јава пројекат у Ецлипсе-у

Корак 2) Додајте датотеку јар селена и Селендроид у окружењу ецлипсе

Десни клик на Гуру99Тест Пројецт -> Буилд Патх -> Адд Ектернал Арцхивес

Дођите до фасцикле у којој су смештене јар датотеке

Треба додати 3 јар датотеке

  • селендроид-цлиент-0.10.0.јар: Библиотека клијената селендроид јава
  • селендроид-стандалоне-0.11.0-витх-депенденциес: Селендроид самостална библиотека сервера
  • селениум-јава-2.40.0.јар: Библиотека Селениум Веб Дривер

Изаберите све -> Изаберите Отвори да бисте додали јар датотеку у пројекат

Корак 3) након додавања горње библиотеке, те библиотеке ће бити додате у Референтне библиотеке тест пројекта. Тестер може да користи АПИ-је тих библиотека за развој програма за тестирање

Направите пакет "цом.гуру.тест" и додајте јава датотеку "Гуру99Тест.јава" као испод

Десни клик на Гуру99Тест -> Ново -> Пакет

Укуцајте цом.гуру.тест у поље Наме у дијалогу Нев Јава Пацкаге а Финисх

Ецлипсе ће створити овакве мапе и подмапе у структури изворног кода

Корак 4) Инсталирајте ТестНГ за Ецлипсе

У Ецлипсе, Хелп -> Инсталл Нев Софтваре, у дијалогу Инсталл кликните Адд и унесите следеће

  • Назив: ТестНГ
  • Локација: хттп://селендроид.ио/

Притисните ОК -> Нект да бисте инсталирали ТестНГ

Корак 5) Копирајте Гуру99Апп.апк у директоријум Тест Апп

Корак 6) Набавите ИД апликације која се тестира.

Претпоставимо да имамо назив АПК датотеке Гуру99Апп.апк. Следите корак описан у претходном одељку, извршите команду на терминалу

Отворите следећу везу у прегледачу

хттп: // лоцалхост: 4444 / вд / хуб / статус.

Приказују се подаци о уређају, копирајте вредност апликације ИД "цом.гуру99апп: 1.0"

Корак 7) Отворите датотеку Гуру99Тест.јава (у примеру кода) и промените на следећи начин

Да бисте креирали нову тест сесију помоћу Селендроид-а, морате да наведете ИД апликације у формату: цом.гуру99апп: 1.0. Овај ИД апликације може се идентификовати у кораку 6. Ако не подесите ИД апликације тако да се подудара са Андроид уређајем, тест сесија ће избацити грешку и неће се покренути.

Након иницијализације пронађеног уређаја, Селендроид креира прилагођени селендроид-сервер и на њега инсталира Селендроид сервер

Селендроид такође инсталира тестирану апликацију и покреће селендроид-сервер на уређају

Након успешне иницијализације тест сесије, започиње извршавање тест наредбе на уређају. (Као што је унос текста, притисните тастер

…). Ако се тест дода тест сесији, емулатор ће се аутоматски зауставити

Корак 8) Започните нову тест сесију

Покрените селендроид сервер помоћу следеће наредбе на терминалу попут корака 6

Након покретања Селендроид сервера, отворите огледни тестни пројекат Гуру99тест на Ецлипсеу, поставите тачку прекида на линији 77 у датотеци Гуру99Тест.јава двоструким кликом на линију 77 -> Тачка ће се приказати као испод

Покрените тест сесију десни клик на Гуру99Тест пројекта -> дебуг Као -> Тестнг тест.

Тест сесија ће започети као у наставку

Корак 9) Набавите Ид ГУИ елемента апликације која се тестира

Након што се тестна сесија успешно започне, отворите прегледач, идите до УРЛ-а хттп: // лоцалхост: 4444 / инспецтор

Видећете да је апликација под тестом покренута као доле

Користите показивач миша на сваки елемент корисничког интерфејса АУТ (Буттон, ТектФиелд, Тект Лабел), ИД сваког елемента ће се истакнути у десном окну

После овог корака можете добити ИД сваког горе наведеног елемента корисничког интерфејса

  • Дугме Прикажи ИД текста: " бтнСхов "
  • ИД текстуалног поља: " едтТект "
  • ИД текста етикете: " тктВиев "

Те личне карте ће се користити у следећем кораку

Корак 10) Уђите у тест програм као доле

Тест програм који користи Селендроид укључује 3 одељка

Тест постављања:

Следи код за тест подешавања, поставиће услов за тест сесију. У случају грешке, Селендроид ће избацити изузетак и апликација за тестирање ће се зауставити.

Код укључује коментаре који објашњавају сваку изјаву.

пакет цом.гуру.тест;импорт ио.селендроид.СелендроидЦапабилитиес;импорт ио.селендроид.СелендроидЦонфигуратион;импорт ио.селендроид.СелендроидДривер;импорт ио.селендроид.СелендроидЛаунцхер;импорт ио.селендроид.девице.ДевицеТаргетПлатформ;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.тестнг.Ассерт;импорт орг.тестнг.аннотатионс.АфтерСуите;импорт орг.тестнг.аннотатионс.БефореСуите;импорт орг.тестнг.аннотатионс.Тест;/ *** @аутхор Гуру99 Тест Апп користећи Селендроид* Апликација на тесту: Гуру99Апп** /јавноцласс Гуру99Тест {// Прогласи променљиву веб управљачког програмаприватни управљачки програм за ВебДривер;/ *** Подесите окружење пре тестирања* @тхровс Изузетак* /@БефореСуитејавновоид сетУп () баца изузетак {// Покрени селендроид-стандалоне током тестаСелендроидЦонфигуратион цонфиг = нев СелендроидЦонфигуратион ();// Додајте селендроид-тест-апп на самостални серверцонфиг.аддСуппортедАпп ("Гуру99Апп.апк");// покретање самосталног сервераСелендроидЛаунцхер селендроидСервер = нови СелендроидЛаунцхер (конфигурација);селендроидСервер.лаунцхСелендроид ();// Стварање селендроид могућностиСелендроидЦапабилитиес цапа = нев СелендроидЦапабилитиес ();// Наведите да бисте користили тестну апликацију селендроидцапа.сетАут ("цом.гуру99апп: 1.0");// Наведите за употребу АПИ-ја Андроид уређаја 19цапа.сетПлатформВерсион (ДевицеТаргетПлатформ.АНДРОИД19);// Не захтевајте симулатор, користите стварни уређајцапа.сетЕмулатор (нетачно);//цапа.ваит(10000000);// Направите инстанцу Селендроид Дривер-адривер = нови СелендроидДривер (цапа);}

Извршите тест

Испод је код за извршење теста. Код укључује коментаре

Ево опет корака за тестирање

  1. Унесите текст "Хелло Гуру"
  2. Кликните на дугме Прикажи текст
  3. Чекај мало
  4. Проверите да ли апликација приказује текст када корисник уђе у текстуално поље (нпр. Прикажите текст „Хелло Гуру“)
 / *** Покрените извршавање тест случаја* 01. Унесите текст „Селендроид“ у поље за текст* 02. Притисните дугме ОК* @тхровс Изузетак* /@Тестјавновоид селендроидТест () баца изузетак {// Штампање дневникаСистем.оут.принт („Покрени извршавање теста“);// Пронађите поље за унос текста на екрану// Ид овог текстуалног поља је преузет из корака 9ВебЕлемент инпутФиелд = дривер.финдЕлемент (Би.ид ("едтТект"));// Проверите да ли је поље за текст омогућено тако да корисник може да уноси текстАссерт.ассертЕкуалс ("труе", инпутФиелд.гетАттрибуте ("енаблед"));// Унесите текст у поље за текстинпутФиелд.сендКеис ("Здраво гуру");// кликните на дугме Прикажи текст// ИД овог дугмета је преузми из корака 9Дугме ВебЕлемент = дривер.финдЕлемент (Би.ид ("бтнСхов"));буттон.цлицк ();// Време одлагања да би ступило на снагуТхреад.слееп (5000);// На екрану пронађите ознаку „Тект Схов Хере“// ИД ове ознаке је преузми из корака 9ВебЕлемент тктВиев = дривер.финдЕлемент (Би.ид ("тктВиев"));// Отворите приказ текста на екрануСтринг очекује = тктВиев.гетТект ();// Проверите да ли је текст који корисник унесе у поље за текст исти као приказ текста на екрануАссерт.ассертЕкуалс (очекује се, инпутФиелд.гетТект ());}

Заврши тест

Следећи код ће завршити тест заустављањем управљачког програма Селендроид.

 / *** Зауставите управљачки програм Селендроид** /@АфтерСуитејавновоид теарДовн () {дривер.куит ();}

Детаље можете видети у узорку кода укљученог у овај чланак.

Корак 10) Повежите Андроид уређај са рачунаром путем УСБ кабла. Тачке које треба посматрати -

  • Уверите се да уређај нема конфигурисано закључавање екрана.
  • Уређаји морају бити прикључени преко УСБ-а на рачунар на којем је покренута селендроид-самостална компонента.
  • Уређај треба да инсталира најмање Андроид Таргет Версион АПИ 10

Корак 11) Покрените тест апликацију: Десни клик на Гуру99тест -> Покрени као -> ТестНГ тест

Корак 10) Покретање скрипте извршено на следећи начин

Корак 12) Након завршетка теста, ТестНГ аутоматски генерише извештај о тестирању на следећи начин

Добар посао, сада сте урадили тест.

Резиме

Резиме

  • Селендроид је врло моћан алат за тестирање Андроид изворне апликације, хибридне апликације као и веб апликације.
  • Може се користити на стварним уређајима, као и на симулатору.
  • Такође вам омогућава паралелно покретање тестова извођењем теста на више уређаја.
  • Читав пакет Селендроид састоји се од четири компоненте:
    • Клијент веб управљачког програма,
    • Селендроид-Сервер,
    • Андроид Дривер Апп
    • Селендроид-самосталан
  • Да бисте користили Селендроид, требају вам инсталирани Јава ЈДК, Андроид СДК и Ецлипсе.

Занимљиви Чланци...