appium初始化driver時,如果未安裝該app會先進行安裝,安裝時,很多安卓手機都會彈框,需要手動確認安裝。
如小米的機器,
這是個頭疼的問題,之前在網上找遍了,只有通過adb去點相對坐標成功了,但是依然覺得不完美。一來沒法判斷是否有彈框,再者就算通過坐標比例去點,也沒法保證所有系統的安裝按鈕都在那個相對位置。
后來突發奇想,想到一個好辦法,講下原理:
要運行appium的手機,一般至少會安裝3個app,分別是輸入法、Appium Settings、unlock。
既然要運行appium自動化測試的安卓機,都需要安裝好這3個應用,那為什么不利用這3個應用!反正包名和activity都一樣!
所以,解決方案是:
先初始化Appium Settings這個app,只要driver初始化完成了,我們就可以利用appium去查找元素並點擊確認安裝的按鈕了!
等待測應用安裝成功后,再初始化待測應用就可以了!
處理邏輯:
初始化Appium Settings->根據apk文件獲取到包名->判斷是否安裝app->如果安裝先卸載->使用adb安裝app->查找確認安裝按鈕並點擊->等待x秒,檢查是否安裝成功->如果失敗再重試幾次
-> 初始化待測app
源碼:
https://download.csdn.net/download/xxiong1031/10396441