配置持續集成QuickBuild調用Ranorex進行安卓自動化測試

在持續集成QuickBuild調用Ranorex,對安卓真機或模擬器運行自動化測試腳本,QuickBuild中步驟配置如下:


1、Check&Update_MT_Script_Android:檢查更新svn裏的Ranorex安卓測試腳本


可以配置QuickBuild的Repository,然後使用Repository > Checkout,來更新svn的Ranorex安卓測試腳本。

我這裏使用bat文件來更新,bat腳本如下(需要安裝TortoiseSVN):

@echo off
echo 更新測試腳本
TortoiseProc.exe /closeonend:2 /command:update /path:"F:\CI\checkout\MT_App_Android\MT_App_Android\bin\Debug"
echo 更新完成

2、Unlock_OpenRxService_android:解鎖手機和重啓手機端RxService


爲了防止手機端RxService崩潰或不響應,導致Ranorex連不上手機,所以測試前重啓一次RxService

@echo off
::echo 進入adb目錄
F:
cd F:\CI\checkout\CI\apk\platform-tools

::echo 點power亮屏
adb -s 127.0.0.1:26944 shell input keyevent 26
::echo 滑動解鎖
adb -s 127.0.0.1:26944 shell input swipe 500 50 500 700

echo 重啓ranorex.android.services
adb -s 127.0.0.1:26944 shell am force-stop ranorex.android.services
adb -s 127.0.0.1:26944 shell am start -n ranorex.android.services/ranorex.android.services.activity.MainActivity

adb命令工具可以通過網上下載。

127.0.0.1:26944是安卓模擬器的機器名,可以通過adb devices獲取,有多臺機器時,必須指定機器名。

3、Update&DeployApk:檢查svn是否有apk新版本,如果有,就自動安裝到手機上

思路是通過svn命令檢查apk,如果包含*,表示有新版,有新版本就更新apk和安裝apk。

@echo off
echo 檢測APP新版本
setlocal enabledelayedexpansion
cd D:\Program Files\TortoiseSVN\bin
D:
for /f "tokens=1,2 delims=:" %%a in ('svn.exe status -u F:\CI\checkout\MT_Apk\zth_android_test.apk^|find "*"^|sort /r') do (
    if not defined line_str set line_str=%%b
)

if "!line_str!"=="" (echo 已經是最新版本,不需要再更新) else (echo 有新版本需要更新 && call F:\CI\checkout\CI\apk\Update_MT_Apk.bat && call F:\CI\checkout\CI\apk\Deploy_Apk.bat)

其中

F:\CI\checkout\CI\apk\Update_MT_Apk.bat代碼爲:

@echo off
echo 更新APP
TortoiseProc.exe /closeonend:2 /command:update /path:"F:\CI\checkout\MT_Apk\zth_android_test.apk"
echo 更新完成
F:\CI\checkout\CI\apk\Deploy_Apk.bat代碼爲:

@echo off
echo 安裝APP
"F:\CI\Ranorex 5.4\Bin\Ranorex.Instrumentation.exe" /pagename:android /d:USB-127.0.0.1:26944 /a:F:\CI\checkout\MT_Apk\zth_android_test.apk /dm:USB
echo 安裝完成
此處安裝apk不是普通的安裝apk到手機,是通過Ranorex編譯後再安裝到手機上,才能通過Ranorex進行自動化測試。


4、Run MT_App_Android:運行安卓自動化測試腳本


這裏是直接運行Ranorex工程下MT_App_Android\bin\Debug的MT_App_Android.exe,就可以進行自動測試了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章