上一篇主要介紹了jenkins:持續(xù)集成平臺(tái)成功構(gòu)建UI自動(dòng)化工程景醇,我們已經(jīng)將我們的工程在本地jenkins上實(shí)現(xiàn)持續(xù)集成性地打包和執(zhí)行測(cè)試用例了铛只。但是工程使用的是真機(jī)贱案,我們不能保證真機(jī)一直在線寇仓,換成模擬器會(huì)是更好的策略厚棵。
關(guān)于安卓UI自動(dòng)化學(xué)習(xí),我的學(xué)習(xí)路線是這樣安排的:
(一)本地:能夠獨(dú)立完成一個(gè)UI自動(dòng)化工程的建立
(二)本地:命令行執(zhí)行UI自動(dòng)化測(cè)試用例
(三)本地:ant打包測(cè)試工程apk+執(zhí)行UI自動(dòng)化用例一體化
(四)jenkins:持續(xù)集成平臺(tái)成功構(gòu)建UI自動(dòng)化工程
(五)jenkins:真機(jī)換成模擬器
(六)jenkins:持續(xù)集成平臺(tái)實(shí)現(xiàn)被測(cè)apk自動(dòng)打包編譯+自動(dòng)化一體化
(七)UI自動(dòng)化用例編寫語法和規(guī)范
本章內(nèi)容就是第五部分箫津,jenkins:真機(jī)換成模擬器
一狭姨、模擬器下載安裝啟動(dòng)
由于安卓自身模擬器啟動(dòng)較慢,我們選擇使用口碑較好的第三方模擬器Genymotion苏遥。
具體的下載安裝啟動(dòng)過程不細(xì)表饼拍,網(wǎng)上很多教程。
我們保持模擬器啟動(dòng)狀態(tài)田炭。那么真機(jī)是通過adb devices命令來確定它的id师抄,模擬器同樣可以通過adb devices命令確定它的id〗塘颍可以看到叨吮,我們的模擬器id是192.168.56.101:5555
二、將模擬器寫入配置
我們之前的orange配置文件中寫入的設(shè)備id是真機(jī)的id瞬矩,最簡(jiǎn)單的辦法就是將orange配置文件中的設(shè)備id改寫為模擬器的id茶鉴。當(dāng)然,這種方式簡(jiǎn)單卻不具備可擴(kuò)展性景用,如果我們有多個(gè)模擬器想要輪流測(cè)試涵叮,或者真機(jī)和模擬器輪流測(cè)試呢?顯然這種方式不具備良好的擴(kuò)展性丛肢。
另一種較好地將模擬器寫入配置的方式是在ant命令行中顯式指定围肥,然后通過ant正則表達(dá)式的替換方式替換到orange配置文件中,使得配置生效蜂怎。
我們之前在jenkins的執(zhí)行ant命令設(shè)置的是ant -buildfile my_work.xml穆刻,將真機(jī)換成模擬器后,我們?cè)赼nt執(zhí)行命令指定模擬器地址杠步。也就是ant命令設(shè)置為ant -buildfile my_work.xml -Ddevicename=192.168.56.101:5555氢伟。在my_work.xml中我們需要寫正則表達(dá)式將命令行設(shè)置的模擬器地址替換到orange配置文件中:
我們這里增加了一個(gè)名為“edit_config”的target榜轿,里面使用正則表達(dá)式把config.properties里的devicename替換為我們的目標(biāo)id。
注意修改“edit_config”這個(gè)target要設(shè)置為“update_project”這個(gè)target之前執(zhí)行哦朵锣。
三谬盐、在模擬器上執(zhí)行
配置完畢后,我們就可以繼續(xù)在jenkins上重新構(gòu)建我們的Job啦诚些,保證模擬器是開啟的狀態(tài)飞傀,點(diǎn)擊構(gòu)建命令。就可以看到在模擬器上執(zhí)行UI自動(dòng)化工程啦诬烹。