introduction appium
Този урок обяснява какво е Appium, неговата архитектура, работен поток и как да използвате този инструмент с отворен код за мобилна автоматизация на Android и iOS:
Appium е инструмент за мобилна автоматизация с отворен код, който осигурява автоматизация на платформи като Android, iOS и др.
Той също така поддържа автоматизация с използване на множество езици за програмиране като Java, PHP, Perl, Python и др.Така че потребителите могат да използват всеки език за програмиране, който им е удобен, и да пишат автоматизирани скриптове.
=> Внимавайте тук за простите серии за обучение на Appium.
Какво ще научите:
Какво е Appium?
Ето видео урок:
Общ преглед на приложенията
Всички приложения могат да бъдат автоматизирани, включително местни, хибридни и уеб приложения.По-долу е даден прост преглед на различни видове приложения.
- Родни приложения: Тези приложенияса написани с помощта на SDK за iOS, Android или Windows.Те могат да бъдат достъпни само след инсталиране в устройството. Например, Skype, който може да се използва само след инсталиране в устройството. Не можем да отворим приложението през браузъра.
- Уеб Приложения: Мобилни уеб приложенияможе да бъде достъпен с помощта на мобилен браузър.Уеб приложенията могат да бъдат достъпни само чрез браузър. Например, Достъпът до softwaretestinghelp.com може да стане само през браузъра. За уебсайта нямаме отделно приложение.
- Хибрид Приложения: Тезиприложенияима обвивка около „webview“ - естествен контрол, който позволява взаимодействие с уеб съдържание.Те могат да бъдат инсталирани в устройството, както и достъпни чрез URL адреса на браузъра. Например, Amazon може да бъде инсталиран като отделно приложение в устройството и може да бъде достъпен чрез браузър като Amazon.
По-важното е, че този инструмент е „междуплатформен“ - който ви позволява да пишете тестове срещу множество платформи (iOS, Android, Windows), използвайки един и същ API. Това позволява повторно използване на код между устройства с iOS, Android и Windows.
Архитектура на епохите
Това е HTTP сървър, написан на програмен език Node.js, който обработва сесии WebDriver. Сървърът Appium получава HTTP заявки от клиентските библиотеки във формат JSON. След това заявките се обработват по различни начини, в зависимост от платформата, на която се изпълнява.
Той следва архитектурата клиент-сървър. В него са включени 3 компонента:
- клиент на appium
- appium сървър
- Крайно устройство
# 1) Клиент на Marcus
Автоматизираният скриптов код е това, което наричаме Appium Client.
най-добрият отдалечен шпионски софтуер за мобилни телефони
Кодът е написан на всеки език за програмиране като PHP, Java, Phyton и др. Този скрипт за автоматизация съдържа подробности за конфигурацията на мобилното устройство и приложението. Заедно с това се скриптира логиката / кодът за изпълнение на тестовите случаи на приложението.
# 2) сървър за епохи
Appium сървърът е написан с помощта на програмния език Node.js.Той получава заявки за връзка и команди от клиента Appium във формат JSON и изпълнява тази команда на мобилни устройства. Сървърът е необходим за инсталиране в машината и се стартира преди извикване на кода за автоматизация.
Сървърът си взаимодейства с различни платформи като iOS и Android. Той създава сесия за взаимодействие с крайни устройства на мобилни приложения. Това е HTTP сървър, написан на програмен език Node.js, който чете HTTP заявките от клиентските библиотеки и ги изпраща до съответната платформа.
За да стартират сървъра, потребителите трябва да изтеглят източника или да го инсталират директно от Npm. Той също така предоставя GUI версията на сървъра. Можете да го изтеглите от официалния Appium сайт .
как да инициализирам опашка в java
В следващата глава ще обсъдим по-подробно версията на GUI. Едно от най-големите предимства на този инструмент е, че кодът, който използвате за взаимодействие с него, е написан на много езици като Java, C #, Ruby, Python и др., Тъй като Appium е REST API в основата си.
# 3) Крайно устройство
Това е предимно мобилно устройство в реално време или емулатор. Скриптовете за автоматизация се изпълняват в крайното устройство от сървъра на Appium чрез командите от клиента.
Работният поток на архитектурата на Appium
Клиентът Appium, който съхранява подробностите за конфигурацията и скрипта за автоматизация за тестовите случаи, изпраща командите на сървъра във формат JSON. Скриптът за автоматизация се преобразува във формат JSON чрез вградени jar файлове в клиента.
След това Appium Server разпознава командата и установява връзка със съответното крайно устройство. След като се осъществи връзката, тя задейства изпълнението на тестови случаи в крайното устройство. Крайното устройство отговаря на заявката под формата на HTTP към Appium.
Когато и когато тестовите случаи се изпълняват в мобилното устройство / емулатор, той попълва дневника на всички действия, извършени в устройството / емулатора.
Работа на Appium на iOS
Този инструмент използва API на Apple UIAutomation за взаимодействие с потребителските интерфейси на приложението на iOS устройство. UIAutomation е JavaScript библиотека, предоставена от Apple Company. Той използва тези библиотеки за автоматизиране на приложенията в iOS.
Когато изпълняваме тестовите скриптове, командите в тестовите скриптове се приемат под формата на JSON чрез HTTP заявка към сървъра на Appium. Сървърът изпраща командата на тези инструменти и инструментите търсят файла bootstrap.js.
След това тези команди се изпълняват във файла bootstrap.js в средата на инструментите на iOS. След изпълнението на командата клиентът изпраща обратно съобщението (успех / неуспех) на сървъра на Appium с подробности за регистрационния файл на изпълнената команда.
Работа на Appium на Android
Appium използва рамката UIAutomator, за да взаимодейства с елементите на потребителския интерфейс на приложението на устройство с Android. UIAutomator е рамка, разработена от разработчиците на Android за тестване на потребителския интерфейс.
Тук вместо UIAutomation API, както видяхме в Apple, имаме UIAutomator / Selendroid и bootstrap.jar вместо файла bootstrap.js. Той поддържа всички версии на Android, които са по-големи или равни на 17; за по-ранни версии на Android, Appium използва рамката Selendroid.
Когато изпълняваме тестовите скриптове, Appium изпраща командата във формат JSON до UIAutomator или Selendroid въз основа на версията на Android. Тук bootstrap.jar действа като TCP сървър, който можем да използваме за изпращане на тестовата команда за изпълнение на действието на устройството с Android с помощта на UIAutomator / Selendroid.
Заключение
В тази глава получихме основно разбиране за Appium, това е архитектура, работен поток и работа на Appium за iOS / Android.
В следващата глава ще видим как да настроим Appium и друг основен софтуер, който да бъде инсталиран за мобилна автоматизация на реални устройства.
Препоръчително четене
- Създайте Appium Tests за приложение за Android
- Въведение в Appium Studio: Основни предимства и характеристики
- Изпълнение на вашите тестове за Appium в паралел с помощта на Appium Studio за Eclipse
- Създаване на тестове за епохи с помощта на epochs Studio за Eclipse
- Appium Studio за Eclipse: Автоматизация на Appium / селен от край до край от Eclipse
- Урок за Appium за тестване на мобилни приложения за Android и iOS
- Свързване на реални iOS и Android устройства от облак към Appium Studio
- Създайте Appium Test за приложение за iOS