1.概念區分:
1)IOS-UIAutomation:隨着iOS4.0的發布,蘋果公司同時發布了一個名為UIAutomation的測試框架,它可以用來在真實設備和iPhone模擬器上執行自動化測試
學習網址:http://www.51testing.com/html/54/n-843354.html
http://www.2cto.com/kf/201212/176666.html
2)Android-UiAutomator:Google在sdk4.0以后提供了一個自動化解決方案uiautomator:
優點:可以跨應用了;這可是親生的;
缺點:必須sdk4.0以上版本;要想實現的好,最好有開發配合;java項目編譯為jar后需要push到手機才能運行,也就是說必須打印日志暴力調試。
學習網址:http://www.tuicool.com/articles/ERBRVzY
http://blog.csdn.net/chenbang110/article/details/23371597
3)Android-Selendriod:Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。
學習網址:http://hao.jobbole.com/selendroid/
2.appium架構
1)appium在Android4.1以上使用UiAutomator,4.1以下使用Selendroid;
2)在Android上使用instrumentation和UiAutomator兩套技術;
3)在IOS上使用UIAutomation
3.Appium在Android上的架構
4.Appium在IOS上的架構
5.Appium啟動參數:
1)通過Appium -help可以看到一些可選參數;
2)通過參數可以配置如下內容:監聽IP和端口,是否使用Selendroid,配置Android和IOS相關參數,啟動app;
3)默認開啟4723端口接受webdriver請求,默認開啟4724端口用於和Android通信;
6.Appium的加載流程:
1)調用Andorid abd完成基本的系統操作;
2)向Andriod上部署bootstrap.jar包並啟動;
3)Forward Android 的端口到PC的機器上;
4)PC上監聽端口接受請求,使用webdriver協議;
5)分析命令並轉通過forward的端口發給bootstrap.jar包;
6)bootstrap接受請求並把命令發給UiAutomator或插樁體系;
7.Appium設計理念:
1)使用webdriver協議與用戶交互;
2)Xpath抽象定位;
3)底層調用各自平台的自動化技術;
8.webdriver的Capabilities配置:
1)app:本地路徑或網絡下載的路徑;
2)browserName,兼容Selendroid,並不使用;
3)Device:IOS Android firefoxos;
4)Version:Android API version, IOS version;
5)Launch:是否讓appium自動啟動app;
6)appActivity-你要從你的應用包中啟動的 Android Activity 名稱,它通常需要在前面添加 `.` (如:使用`.MainActivity` 而不是 `MainActivity`)
參考網址:http://wenku.baidu.com/link?url=FbswfHp-YmkQKxrTAO61u9OVXp7aBA8TE5YN0hHSV8VkTXGTp1NkK_HbeuwFl1RJ8N3bRxRGlq3TUAq_wf06tv9wEDlUt8Fl8fhoxwD6MHa
附上appium的工作原理:http://blog.csdn.net/jack_chen3/article/details/42679545