基于Orange的安卓UI自動化學習筆記(五)

上一篇主要介紹了jenkins:持續集成平臺成功構建UI自動化工程,我們已經將我們的工程在本地jenkins上實現持續集成性地打包和執行測試用例了。但是工程使用的是真機,我們不能保證真機一直在線,換成模擬器會是更好的策略。
關于安卓UI自動化學習,我的學習路線是這樣安排的:
(一)本地:能夠獨立完成一個UI自動化工程的建立
(二)本地:命令行執行UI自動化測試用例
(三)本地:ant打包測試工程apk+執行UI自動化用例一體化
(四)jenkins:持續集成平臺成功構建UI自動化工程
(五)jenkins:真機換成模擬器
(六)jenkins:持續集成平臺實現被測apk自動打包編譯+自動化一體化
(七)UI自動化用例編寫語法和規范
本章內容就是第五部分,jenkins:真機換成模擬器

一、模擬器下載安裝啟動

由于安卓自身模擬器啟動較慢,我們選擇使用口碑較好的第三方模擬器Genymotion。
具體的下載安裝啟動過程不細表,網上很多教程。
我們保持模擬器啟動狀態。那么真機是通過adb devices命令來確定它的id,模擬器同樣可以通過adb devices命令確定它的id??梢钥吹剑覀兊哪M器id是192.168.56.101:5555

二、將模擬器寫入配置

我們之前的orange配置文件中寫入的設備id是真機的id,最簡單的辦法就是將orange配置文件中的設備id改寫為模擬器的id。當然,這種方式簡單卻不具備可擴展性,如果我們有多個模擬器想要輪流測試,或者真機和模擬器輪流測試呢?顯然這種方式不具備良好的擴展性。

另一種較好地將模擬器寫入配置的方式是在ant命令行中顯式指定,然后通過ant正則表達式的替換方式替換到orange配置文件中,使得配置生效。
我們之前在jenkins的執行ant命令設置的是ant -buildfile my_work.xml,將真機換成模擬器后,我們在ant執行命令指定模擬器地址。也就是ant命令設置為ant -buildfile my_work.xml -Ddevicename=192.168.56.101:5555。在my_work.xml中我們需要寫正則表達式將命令行設置的模擬器地址替換到orange配置文件中:



我們這里增加了一個名為“edit_config”的target,里面使用正則表達式把config.properties里的devicename替換為我們的目標id。
注意修改“edit_config”這個target要設置為“update_project”這個target之前執行哦。

1.png

三、在模擬器上執行

配置完畢后,我們就可以繼續在jenkins上重新構建我們的Job啦,保證模擬器是開啟的狀態,點擊構建命令。就可以看到在模擬器上執行UI自動化工程啦。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容