系列文章:linux下Appium+Python移動應用自動化測驗實戰
linux下Appium+Python移動應用自動化測驗實戰—1.環境準備
linux下Appium+Python移動應用自動化測驗實戰—2.配置Android App除錯環境
linux下Appium+Python移動應用自動化測驗實戰—3.手把手教你定位元素撰寫測驗用例
linux下Appium+Python移動應用自動化測驗實戰—4.Android Emulator Headless
臘月二十九寫的那篇手把手定位元素撰寫用例的文章,沒想到在4天的時間獲得了2000多的閱讀量,作為一個成熟的概念和框架,沒想到熱度竟然還這么高,博主果斷放棄了今天下午的10公里越野,加快推出Android Emulator的headless模式相關文章,
文章目錄
- 系列文章:linux下Appium+Python移動應用自動化測驗實戰
- 前言
- 一、關于Emulator
- 二、關于Headless模式
- 三、關于linux下程式的后臺執行
- 四、整體的執行腳本
前言
通過前面的幾篇文章,相信基本上都能夠上手appium+python進行android應用的自動化測驗作業了,但是在當今DevOps大行其道的日子里,如果要讓這種自動化框架在CICD的持續集成環境里面順利跑起來,可能還是有點問題的,首先,CICD的服務器以Linux居多;其次,Linux服務器一般情況下都是運行在命令列模式下;最后,傳統的android emulator運行的時候占用了大量的系統資源, 這個時候,Android Emulator的headless模式就是比較好的選擇了,從28.0.25版本開始,Android Emulator支持headless模式運行,這篇文章將帶領大家使用Emulator的headless模式,
一、關于Emulator
我沒有研究過Google的意圖是什么,竟然在Anndroid SDK下面設定了兩個emulator可執行程式,一個是${ANDROID_SDK_HOME}/tools/emulator, 另一個是${ANDROID_SDK_HOME}/emulator/emulator,可能Google有它自己的考慮,這里要說的的是,一般情況下命令列運行android模擬器,用的是${ANDROID_SDK_HOME}/emulator/emulator,我本地linux下驗證的時候,${ANDROID_SDK_HOME}/tools/emulator會報各種例外, 為了保證emulator能夠正常運行,在設定PATH環境變數的時候,emulator最好要放在tools的前面,
二、關于Headless模式
網路上有各種關于headless的方法和描述,比如emulator-headless, -no-skin,isHeadless=true等等,在最新的Android Emulator 30.3.5下(注意這里是Android Emulator的版本,不是Android Studio的版本),這些都不靠譜,直接添加引數-no-window即可,
emulator -avd EMULATOR_NAME -no-window
這個時候你可能會碰到如下圖所示的一些類似audio等相關的錯誤提示,如果被測內容不相關的話,可以忽略,

三、關于linux下程式的后臺執行
這個不再贅述,無非就是用&還是用nohup,具體的區別大家自己問問度娘或者狗狗,
四、整體的執行腳本
這個也很簡單,根據正常運行的順序,執行相關的命令即可,將如下內容寫入到shell腳本automation_test.sh中,并賦予其執行權限,
# 修改/dev/kvm的屬主為當前用戶,否則因為權限問題啟動android模擬器失敗
sudo chown -R ${USER}:${USER} /dev/kvm
sleep 5s
# 后臺啟動appium服務用于監聽界面操作,并把相關內容輸出到檔案appium_out.txt中
appium > ./appium_out.txt &
sleep 5s
# 后臺啟動android模擬器,并把相關內容輸出到檔案emulator_out.txt中
emulator -avd Nexus_4_API_25 -no-window > ./emulator_out.txt &
sleep 20s
# 后臺運行自動化測驗用例,并輸出結果到test_result.txt中
pytest calculator.py > ./test_result.txt &
命令列下直接執行automation_test.sh腳本,
$ bash automation_test.sh
執行如下圖,

執行程序中,可以看到整個螢屏沒有相關界面彈出,執行結束后,目錄下多了幾個txt檔案,查看相關輸出檔案內容,重點查看測驗結果輸出檔案即可,
如下圖,可見本次執行的4個測驗用例全部通過,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/260087.html
標籤:其他
