在做 android 前端性能自動化測試時,你是否經歷過這樣的場景:依次啟動 A、B、C 三個 app,其中 C 是被測 app, 當當前屏幕切換到 B 進行相關操作后,如何通過封裝方法實現自動切換會已經處于后臺進程模式的被測 app 進程 C 呢?
我的實現思路大體是這樣的。
1
首先封裝點擊鍵盤 menu 鍵操作,代碼如下所示:
public static void tapDeviceMenu(String udid){String cmdMenu = "adb -s "+udid+" shell input keyevent KEYCODE_MENU";CmdUtils.executeCmd(cmdMenu);}
2
當前界面處于進程切換情況下,可以通過點當前屏幕的中點實現切換到進程 C 的預期效果,封裝點擊當前屏幕中點方法,代碼如下所示:
public static void screenTapCenter(String udid){List
3
不同的手機設備屏幕分辨率是不同的,如何兼容不同手機獲取中點坐標呢?封裝方法如下:
public static List
4
對應的 adb 命令有哪些呢?
>adb shell input keyevent KEYCODE_MENU>adb shell input tap 中點橫坐標中點縱坐標Ⅴ注意,該方法僅適用于安卓設備啟動 3 個應用,并且啟動順序是 A、B、C,并且 B 這個 App處于當前界面情況下如何切換到 C 情況下。這里還涉及到獲取 dos 命令返回結果以及正則匹配指定字符串,這兩個方法封裝較常見,在這里就不再贅述了。
作 者:Testfan 恨水
出 處:微信公眾號:自動化軟件測試平臺
版權說明:歡迎轉載,但必須注明出處,并在文章頁面明顯位置給出文章鏈接
推薦閱讀:中國財經報道網