selendroid tutorial android mobile test automation framework
Мобилна аутоматизација помоћу Селендроид-а (Део И):
До сада су већ развијени милиони апликација које користе Андроид као платформу и број се и даље повећава из дана у дан.
Кључ је у томе како потврдити сваку апликацију? Како ће нам бити потребни наменски ресурси као што су радна снага, стварни уређаји (рецимо, мобилни) итд., А опет је то и дуготрајан задатак. С друге стране, андроид верзија, верзија апликација .апк, димензија уређаја итд. Нису сталне.
Стога постаје веома тешко дефинисати критеријуме за излазак из теста, јер не можемо дефинисати комплетан опсег испитивања, па се не може извршити тачна процена напора на тестирању.
Да би се превазишла зависност уређаја, развијају се емулатори који могу пружити окружење у стварном времену, где можемо тестирати апликацију без бриге о верзији андроида, уређајима и њиховој верзији. Али, ипак тестирање апликација (.апк) преко емулатора је ручна активност и чак је дуготрајан задатак. Отуда се развија идеја аутоматизације мобилног тестирања.
Да би се извршила мобилна аутоматизација, развијен је оквир за аутоматизацију тестирања, који омогућава аутоматизацију апликација заснованих на Андроиду помоћу скриптног језика.
Развијени су многи оквири за аутоматизацију као што су Селендроид, Аппиум, Роботиум, Еспрессо.
Овај водич је подељен у два дела:
Туториал # 1 : Увод у Селендроид: Андроид Мобиле Тест Аутоматион Фрамеворк
Туториал # 2: Како користити Селендроид фрамеворк за аутоматизацију корисничких интеракција преко мобилне апликације (ускоро)
Шта ћете научити:
- Шта је Селендроид?
- Селендроид Цомпонентс
- Подешавање окружења
- Писање прве скрипте помоћу АПК датотека преко стварних уређаја
- Закључак
- Препоручено читање
Шта је Селендроид?
Селендроид је невероватан алатни оквир за аутоматизацију теста за Андроид мобилне апликације са неколико важних карактеристика. Селендроид је врло моћан алат за аутоматизацију који може истовремено да комуницира са више уређаја, а апликација се може тестирати без икаквих модификација или промена помоћу Селендроид-а.
Такође се назива „Селен за Андроид“ за тестирање изворних и хибридних мобилних апликација и мобилног веба.
Зашто Селендроид?
- То је отворени извор (бесплатан за употребу)
- Подржава селен као скриптни језик
- Подржава језике компатибилне са веб управљачким програмима као што су Јава, Ц #, Перл
- Подржава све верзије Андроид-а
- Ради и на емулатору као и на стварном уређају
- Ради на изворној, хибридној и веб-заснованој апликацији
- Ефективно приликом извршавања матичних апликација, као и апликација заснованих на облаку. јер подржава селенову мрежу
- Подржава препознавање објеката користећи својства објекта
- Једноставно за примену
- Хардверски уређаји се могу прикључити, искључити са рачунара током извођења теста, без поновног покретања или заустављања теста. Селендроид може аутоматски препознати нове уређаје. Ова функција је позната као „Хотплуггинг“
Једноставна архитектура Селендроида
Селендроид Цомпонентс
Селендроид - клијент
У основи, то је Јава клијентска библиотека. Из ове компоненте, ХТТП и ВебДривер захтев се шаљу помоћу ЈСОН-а на самостални сервер Селендроид.
Селендроид - Самостално
Ова компонента управља различитим уређајима, као и .апк-ом инсталирањем Селендроид-сервера и апликације која се тестира. Хттп захтев (који треба извршити преко стварног уређаја / симулатора) шаље се са самосталног сервера Селендроид на уређај и апк који се тестира.
Селендроид - Сервер
Овај сервер прелази преко уређаја заједно са апликацијом која се тестира. Између сервера, као и апликације која се тестира, постоји двосмерна комуникација.
АндроидДриверАпп
То је уграђени Андроид управљачки програм, као и апликација Веб Виев за тестирање мобилног веба.
Још један тест оквир назван као АППИ ради слично Селендроиду.
Ево малог поређења између оба.
одлика | Селендроид | аппиум |
---|---|---|
Подршка за доњу андроид верзију (<4.1) | да | Немој |
Хот плуг | да | Немој |
Тестирање корисничког агента | Немој | да |
Подршка за апликацију засновану на иОС-у | Немој | да |
Захтеви заштите животне средине | За Андроид - Мац, Линук, Виндовс (било која верзија) | За иОС - Мац ОСКС 107. За Андроид - Виндовс 7+, Линук, Мац ОСКС 107. |
Предуслови:
За почетак са публиком која је намењена треба да буде врло добро упозната са употребом селена, било каквих ИДЕ алата као што је Ецлипсе итд. Основни концепти програмирања кажу Јава, Ц итд ... и мора бити свестан употребе Мавен-а и других ТЕСТИНГ алата.
- Инсталирајте Интел к86 Емулатор Аццелератор (није обавезно) да бисте видели симулатор из овде
- Јава СДК, ЈРЕ је већ инсталиран у тест окружењу. Можете исто тако преузети са овде
Забележите СДК путању током инсталирања.
Поставите променљиве околине присутне преко Мог рачунара -> кликните десним тастером миша -> Својства -> Напредне поставке система
- Ецлипсе је већ инсталиран на вашој машини. Ако не, исто можете и да преузмете са овде
- Датотеке са селен теглицама треба преузети. Можете преузети исто одавде такође
- Тегле за ТестНГ су већ преузете
- Андроид СДК за преузимање и инсталирање. Исто можете преузети и са овде
Забележите путању Андроид СДК-а током инсталирања
Након преузимања, АНДРОИД_ХОМЕ треба да се постави у променљиве окружења које су присутне у:
Мој рачунар -> кликните десним тастером миша -> Својства -> Напредно подешавање система
рунтиме полиморфизам у ц ++
- Треба преузети датотеке селендроид јар. Исто можете преузети и са овде
Запамтити да бисте преузели самосталну јар датотеку Селендроид са горенаведене локације. Обично је име попут селендроид-стандалоне-0.9.0-витх-депенденциес.јар. Такође, преузмите један пример АПК датотеке реците селендроид-тест-апп-0.8.0.апк са горенаведене локације
Белешка:
- Такође можемо користити спремиште мавен да бисте дали референцу на све тегле, иначе их морате ручно преузети и приложити на путању израде (Овер Ецлипсе Пројецт)
- Уређаји / емулатори - У андроид-у ће сва инсталирана апликација имати додатак .апк. На друге начине можете преузети апликације као што су информације о АПК-у које ће вас информисати о листи апликација инсталираних на вашем Андроид уређају и њеном стварном имену, величини итд ...
Подешавање окружења
# 1) Задржите АПК који треба да се инсталира на одговарајућем месту
У мом случају сам то задржао Г: \ Тегле \ селендроид-тест-апп-0.8.0.апк
# 2) Затим, задржите апликацију преко директоријума пројекта
У мом случају јесте 500: АппиумАутоматион СелендроидФирст
# 3) Повежите стварни уређај са рачунаром
Уверите се да је омогућен режим УСБ отклањања грешака, а такође дозвољавате да се спољне апликације инсталирају путем УСБ везе.
Савети:
- Молимо погледајте поставку УСБ отклањања грешака потребну за мобилни рецимо Редми Ноте 3 од овде
- Дозволите екстерну апликацију инсталирану путем УСБ-а рецимо Редми ноте 3 са овде
# 4) Отворите командну линију преко Виндовс-а
Дођите до фасцикле у којој се налази самостални јар јар Селендроид, као и преузета апк датотека.
Сада одредите сличну команду и притисните ентер у командној линији
На пример. јава --јар селендроид-стандалоне-0.15.0-витх-депенденциес.јар -аут селендроид-тест-апп-0.8.0.апк
Или јава –јар селендроид-стандалоне-0.15.0-витх-депенденциес.јар
АПК датотека: селендроид-тест-апп-0.8.0.апк
Белешка: Када се изврши горња команда, уверите се да је АПК потписан и да је стварни уређај повезан са рачунаром и да је на њему омогућено отклањање грешака.
(Белешка: Кликните на слику за увећани приказ)
Проверите следеће тачке преко командне линије да бисте били сигурни да је окружење спремно за аутоматизацију:
- Потврдите поруку „Уређај наведен са важећим бројем“
- Потврдите поруку „сервер је покренут у подразумеваном порту рецимо (4444)…“
- Потврдите поруку „Сесија се креира…“
Опет увек можемо поново потврдити да ли је сервер покренут или не користећи следећу УРЛ адресу преко било ког вашег веб прегледача.
на пример. хттп: // лоцалхост: 4444 / вд / хуб / статус
# 5) Преглед АПК-а
- Стварне апликације можемо да користимо повезивањем стварних мобилних уређаја
- Можемо да користимо све преузете АПК датотеке ван мреже
Селендроид Инспецтор је користан за отклањање грешака / преглед веб елемената АПК-а.
Када се уређај идентификује и покрене, можемо да погледамо АПК (у виртуелном режиму) и пронађемо референце, што је корисно за писање скрипти, користећи следећу УРЛ адресу преко било ког веб прегледача.
где пронаћи мрежни безбедносни кључ
На пример: хттп: // лоцалхост: 4444 / инспектор
Овде имамо снимак екрана апликације која се тестира и имамо могућност да прегледамо и елемент.
Или увек можете користити уиаутоматорвиевер да би се пронашли објекти из апликације која се тестира.
Подразумевана путања за ово је наведена у наставку:
Ц: Корисници админ андроид-сдкс тоолс
Ц: Корисници админ - На овом месту сам инсталирао Андроид СДК, али може бити различито у складу са локацијом наведеном током његове инсталације.
Писање прве скрипте помоћу АПК датотека преко стварних уређаја
Објективан:
- Покрените сервер (на подразумеваном порту рецимо 4444)
- Направите сесију
- Инсталирајте апликацију (.апк датотека) преко повезаног стварног уређаја
- Аутоматизујте поље за текст са неким подацима
- Аутоматски кликните на дугме
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Закључак
Селендроид је врло моћан алат за тестирање аутоматизације који се може користити за тестирање изворних, хибридних, као и веб апликација на било ком Андроид уређају, као и симулатору.
Подржава Хотплуггинг, што значи да корисник може истовремено тестирати више уређаја, па је паралелно извршавање теста могуће на више уређаја. Подржава разне врсте интеракција попут дугог притиска, додира итд.…
Једина сложеност са њим је поставка околине, која постоји и у другим оквирима. Једном када се правилно постави, скрипте можемо покренути без икаквих потешкоћа.
Удео 2овог водича за Селендоид, покриваћемо - Како користити Селендроид фрамеворк за аутоматизацију корисничких интеракција преко мобилне апликације.
У следећем чланку ћемо размотрити више о томе пЦлоуди практични водич за преглед.
Препоручено читање
- Дубински водичи за помрачење за почетнике
- Водич за аутоматизацију СееТеста: Водич за алат за аутоматизацију мобилних тестова
- Водич за Јава Цоллецтионс Фрамеворк (ЈЦФ)
- Водич за Јава рефлексију са примерима
- Водич за Ранорек: Моћан алат за тестирање аутоматизације за радне површине, веб и мобилне уређаје
- Водич за тестирање апликација за Андроид и иОС за мобилне уређаје
- Коришћење Селендроид-а за аутоматизацију интеракција корисника преко мобилне апликације (2. део)
- Напредна употреба СееТест аутоматизације на пројекту аутоматизације у реалном времену