android自動化測試_uiautomator方案實現要點
android的自動化測試方案,弄了好久了。
Monkeyrunner物件引用速度太慢,過於簡陋;
Robotium不能跨應用(不知道現在最新情況如何),即便能夠跨應用我都不是太想用他,太麻煩,而且畢竟不是親生的,稍微google搞點動作,就夠他一陣忙亂的;
Google在sdk4.0以後提供了一個自動化解決方案uiautomator:
優點:可以跨應用了;這可是親生的;
缺點:必須sdk4.0以上版本;要想實現的好,最好有開發配合;java專案編譯為jar後需要push到手機才能執行,也就是說必須列印日誌暴力除錯。
一直有研究和簡單使用,但是一直沒有推向生產使用,理由很簡單,價效比不夠高,每行程式碼都需要自己去檢視元素物件的引用方法一點點的編寫,太麻煩了。
但是這個解決方案畢竟是可以解決android的自動化測試的。
不過要想走得順暢並不容易,需要關注幾個要點:
1. 需要一個工具,開啟原始碼檔案後,將所有的佈局檔案開啟,寫入contentDescription屬性,如果不寫這個屬性也能物件引用,但是會很麻煩,你需要去找各種不同的屬性進行引用,既然人家已經提供了這個屬性,目的就是讓你方便引用的,所以最好充分利用,寫完後,要留心,因為listview的行佈局檔案是一個,也就是說如果程式碼執行後,你的listview控制元件的每行的contentDescription屬性都會是一樣的,需要使用其他的屬性進行引用,最好呢是在程式碼中修改該屬性;
2. 上述方法搞定了靜態控制元件後,找到開發,確定哪些是動態生成的,在程式碼中加入動態物件的屬性,編譯通過後,提交到版本庫;
3. 建立長效機制,這個是最重要的,以後每次增加了新的模組,開發都要給控制元件提供該屬性的唯一值,開發測試可以約定一個命名方式。
這個解決方案的成敗關鍵是開發測試的充分溝通和長效機制的運作,要不然就會出現下面的情形:
開發把程式碼扔給測試就不管了,每次版本釋出,都需要給所有的靜態物件加上contentDescription屬性,動態物件測試歷盡千辛萬苦才引用到,然後執行。試想想,要是版本頻繁釋出,這樣根本就無法正常運轉下去。
但是這個方案是一個可行的可用的解決方案。
參考工具:
這個vbs指令碼是通過指定專案檔案目錄,自動搜尋下面所有的layout目錄,找到所有的佈局檔案,將佈局檔案中的每個元素都加上contentDescription屬性,以便uiautomator進行物件識別和引用操作。
http://download.csdn.net/detail/testingba/6931865
相關文章
- Android自動化測試解決方案Android
- appium uiautomator 移動端自動化測試工具APPUI
- python自動化測試(一)--uiautomator總結PythonUI
- Android自動化測試工具實現簡述Android
- Android UI 自動化測試實現過程AndroidUI
- Junit測試Android自動化測試Android
- 如何實現高度自動化測試?
- Postman實現UI自動化測試PostmanUI
- 自動化測試面試點面試
- API自動化測試平臺,高效實現對API的自動化測試API
- [android]android自動化測試Android
- 使用 Postman 實現 API 自動化測試PostmanAPI
- postman實現介面的自動化測試Postman
- 試著使用 jmeter 實現介面自動化測試JMeter
- 真的要進行介面測試自動化?
- 介面自動化測試解決方案
- iOS自動化測試調研方案iOS
- 自動化測試實戰技巧:「用例失敗重試機制」實現方案分享
- 自動化測試系列 —— UI自動化測試UI
- Android 談談自動化測試Android
- [android]android自動化測試十三之monkeyRunner自動化框架Android框架
- Android uiautomator自動化工具AndroidUI
- 前端自動化UI測試的完整方案前端UI
- 使用 flow.ci 實現 Android 自動化測試與持續整合Android
- 《QTP自動化測試實踐》要出第二版了!QT
- UI自動化測試實戰UI
- API自動化測試實踐API
- [android]android自動化測試十四之dumpsys效能測試Android
- 如何從測試自動化中實現價值
- 用python實現selenium 自動化測試Python
- Java + SikuliX 基於影像實現自動化測試Java
- Python實現自動化測試入門指南Python
- Android 自動化測試之 MonkeyAndroid
- 【自動化測試入門】自動化測試思維
- Android自動化測試入門(四)單元測試Android
- [android]android自動化測試十三之sciroccoAndroid
- [android]android自動化測試五之RobolectricAndroid
- Docker與自動化測試及其測試實踐Docker