http://www.2cto.com/Article/201308/233525.html
Appium
Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用。Appium支持IOS、Android及FirefoxOS平臺。Appium使用WebDriver的json wire協議,來驅動Apple系統的UIAutomation庫、Android系統的UIAutomator框架。Appium對IOS系統的支持得益於Dan Cuellar’s對於IOS自動化的研究。Appium也集成了Selendroid,來支持老android版本。
使用Appium進行自動化測試有兩個好處:
1. Appium在不同平臺中使用了標準的自動化APIs,所以在跨平臺時,不需要重新編譯或者修改自己的應用。
2. Appium支持Selenium WebDriver支持的所有語言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl語言,更可以使用Selenium WebDriver的Api。Appium支持任何一種測試框架。如果只使用Apple的UIAutomation,我們只能用javascript來編寫測試用例,而且只能用Instruction來運行測試用例。同樣,如果只使用Google的UIAutomation,我們就只能用java來編寫測試用例。Appium實現了真正的跨平臺自動化測試。
Requirements
總體:
- IOS自動化測試需要Mac os操作系統
- Mac OS X 10.7或者更高版本,推薦10.8.4版本
- Android自動化測試可以在Mac、Linux上進行。對於Windows平臺的支持還在beta階段
- 需要安裝node和npm(node版本高於0.8)
IOS自動化:
- Mac Xcode
- Apple開發者工具(iphone模擬器sdk,及命令行工具)
Android自動化: - Android SDK API版本 >= 17,即android版本高於4.2
快速入門
方案1: 使用Appium.app
- 下載appium.app dmg
- 在Apple系統上安裝appium.app,就可以直接運行自己的case
方案2: 使用node從命令行運行appium
- 安裝node及npm
- 下面命令是在linux系統中安裝appium
mkdir appium-test && cd appium-test npm install -g appium # might have to do this with sudo sudo authorize_ios # enable developer use of iOS sim npm install wd curl -O https://raw.github.com/appium/appium/master/sample-code/examples/node/simplest.js appium & node simplest.js
下面是一些不同語言編寫的appium的測試用例
Example Tests: Node.js | Python | PHP | Ruby | Java
問題解決
如果使用過程遇到問題,可以參考這裏,這裏包含了一些常見錯誤的解決方法,也包含appium組織的聯繫方法。
使用appium編寫測試用例
Appium支持Selenium WebDriver json wire 協議(部分支持,非全部)
appium定位元素的方法也和webdriver類似,但是也僅支持webdriver中的部分方法,詳細信息見這裏.
Appium也爲json wire協議提供了一些拓展,來支持智能手機的手勢動作,如tap(輕擊)、flick,swipe,更多信息點擊這裏
Appium也支持在混合的app中,自動化測試web views,參見這裏
Appium 同時支持Android和IOS平臺:
- Appium自動化測試Android、IOS,環境搭建
- Appium自動化測試Android,環境搭建
- Appium自動化測試Android,linux環境搭建
- Appium自動化測試IOS,目標app準備
- Appium自動化測試Android,目標app準備
- IOS自動化用例執行
- Android自動化用例執行
- 在Mac系統中,Ruby使用appium進行自動化測試
Appium全部文檔,點擊https://github.com/appium/appium/tree/master/docs。