app測試-3-1-Appium簡介

Appium簡介


Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.

Appium是一個開源測試自動化框架,可用於原生,混合和移動Web應用程序測試。 它使用WebDriver協議驅動iOS,Android和Windows應用程序。

Appium優勢


  • 可以跨平臺同時支持android、ios
  • 支持多種語言,java、python、php、Ruby等等
  • 不用爲複雜的環境發愁
  • 如果你有selenium經驗,直接上手。

 

Appium架構原理


Appium是在手機操作系統自帶的測試框架基礎上實現的,Android和iOS的系統上使用的工具分別如下:

 

  • Android(版本>4.3):UIAutomator,Android 4.3之後系統自帶的UI自動化測試工具。
  • Android(版本≤4.3):Selendroid,基於Android Instrumentation框架實現的自動化測試工具。
  • ·iOS:UIAutomation(instruments框架裏面的一個模板),iOS系統自帶的UI自動化測試工具。

 

 

運行原理


我們的電腦(client)上運行自動化測試腳本,調用的是webdriver的接口,appium server接收到我們client上發送過來的命令後他會將這些命令轉換爲UIautomator認識的命令,然後由UIautomator來在設備上執行自動化。

Appium的架構原理如上圖所示,由客戶端(Appium Client)和服務器(Appium Server)兩部分組成,客戶端與服務器端通過JSON Wire Protocol進行通信。

Appium服務器

Appium服務器是Appium框架的核心。它是一個基於Node.js實現的HTTP服務器。Appium服務器的主要功能是接受從Appium客戶端發起的連接,監聽從客戶端發送來的命令,將命令發送給bootstrap.jar(iOS手機爲bootstrap.js)執行,並將命令的執行結果通過HTTP應答反饋給Appium客戶端。

Bootstrap.jar。

Bootstrap.jar是在Android手機上運行的一個應用程序,它在手機上扮演TCP服務器的角色。當Appium服務器需要運行命令時,Appium服務器會與Bootstrap.jar建立TCP通信,並把命令發送給Bootstrap.jar;Bootstrap.jar負責運行測試命令。

Appium客戶端。

它主要是指實現了Appium功能的WebDriver協議的客戶端Library,它負責與Appium服務器建立連接,並將測試腳本的指令發送到Appium服務器。現有的客戶端Library有多種語言的實現,包括Ruby、Python、Java、JavaScript(Node.js)、Object C、PHP和C#。Appium的測試是在這些Library的基礎上進行開發的。

Appium組件


Appium Server

Appium Server就是Appium的服務端——一個web接口服務,使用Node.js實現。引用官網解釋說明。

Appium is a server written in Node.js. It can be built and installed from source or installed directly from NPM:

$ npm install -g appium

$ appium

Appium Desktop

Appium Desktop是一款適用於Mac,Windows和Linux的開源應用程序,它以美觀而靈活的用戶界面爲您提供Appium自動化服務器的強大功能。 它是幾個Appium相關工具的組合:

  1. Appium Server的圖形界面。 您可以設置選項,啓動/停止服務器,查看日誌等...您也不需要使用Node 的NPM來安裝Appium,因爲Node運行時與Appium Desktop捆綁在一起。
  2. 您可以使用Inspector查看應用程序的元素,獲取有關它們的基本信息,並與它們進行基本的交互。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章