appium入門(1)__ appium介紹

摘自:http://www.testclass.net/appium/appium-base-summary/java

一、特色

appium 是一個自動化測試開源工具,支持 iOS 平臺和 Android 平臺上的原生應用,web應用和混合應用。python

  •  「移動原生應用」是指那些用iOS或者 Android SDK 寫的應用(Application簡稱app)。
  •  「移動web應用」是指使用移動瀏覽器訪問的應用(appium支持iOS上的Safari和Android上的 Chrome)。
  •  「混合應用」是指原生代碼封裝網頁視圖——原生代碼和 web 內容交互。好比,像 Phonegap,能夠幫助開發者使用網頁技術開發應用,而後用原生代碼封裝,這些就是混合應用。

重要的是,appium是一個跨平臺的工具:它容許測試人員在不一樣的平臺(iOS,Android)使用同一套API來寫自動化測試腳本,這樣大大增長了iOS和Android測試套件間代碼的複用性。git

二、appium與Selenium

appium類庫封裝了標準Selenium客戶端類庫,爲用戶提供全部常見的JSON格式selenium命令以及額外的移動設備控制相關的命令,如多點觸控手勢和屏幕朝向。github

appium客戶端類庫實現了Mobile JSON Wire Protocol(一個標準協議的官方擴展草稿)和W3C WebDriver spec(一個傳輸不可預知的自動化協議,該協議定義了MultiAction 接口)的元素。web

appium服務端定義了官方協議的擴展,爲appium 用戶提供了方便的接口來執行各類設備動做,例如在測試過程當中安裝/卸載App。這就是爲何咱們須要appium特定的客戶端,而不是通用的Selenium 客戶端。固然,appium 客戶端類庫只是增長了一些功能,而實際上這些功能就是簡單的擴展了Selenium 客戶端,因此他們仍然能夠用來運行通用的Selenium會話。編程

三、支持多平臺、多語言

appium是跨平臺的,能夠用在OSX,Windows以及Linux桌面系統上運行。設計模式

appium選擇了Client/Server的設計模式。只要client可以發送http請求給server,那麼的話client用什麼語言來實現都是能夠的,這就是appium及Selenium(WebDriver)如何作到支持多語言的緣由;瀏覽器

appium擴展了WebDriver的協議,沒有本身從新去實現一套。這樣的好處是之前的WebDriver API可以直接被繼承過來,之前的Selenium(WebDriver)各類語言的binding均可以拿來就用,省去了爲每種語言開發一個client的工做量;app

語言/框架框架

Github地址

Python

https://github.com/appium/python-client

Java

https://github.com/appium/java-client

 

四、appium工做原理

在安裝和介紹appium以前,很是有必要介紹一下appium是如何工做的。

 

經過上面一張圖簡單展現了appium的工具原理。

首先,appium支持多語言,由於它針對流的幾種語言分別開發的相應的appium庫。好處就是咱們能夠選擇本身熟悉的語言編寫appium腳本。

其次,appium支持多平臺,包括MAC和Windows。它針對這兩大平臺開發了appium-Server。

最後,appium又同時支持Android 和 iOS兩個操做系統。

這就使得appium變得很是靈活。

當我在MAC平臺上,經過Python(python-client )編寫了一個appium自動化腳本並執行,請求會首先到 appium.dum (MAC下的appium-Server),appium-Server經過解析,驅動iOS設備來執行appium自動化腳本。或者,我在Windows平臺上,經過Java( java-client )編寫了一個appium自動化腳本並執行,請求會首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server經過解析,驅動Android虛擬機或真機來執行appium腳本。

因此,你會看到appium的強大之處就在於此。

五、你都須要安裝什麼?

  • 編程語言:  Python
  • appium client:  Appium-Python-client
  • appium Server
  • 測試運行環境

一個Android模擬器,或 一個 Android 手機,或 一臺 iPhone 手機

相關文章
相關標籤/搜索