在Airtest自動化中如何清除iOS後臺應用

前言

不知道做iOS測試的同學有沒有遇到過1個非常讓人苦惱的問題:每次打開iOS應用的界面都是上次退出時的界面,應用初始頁面不一致,導致腳本運行出現了各種問題。

但 iOS平臺並不支持 clear_app() 接口 ,所以無法像Android那樣直接調用 clear_app() ,就能把應用進程殺掉。而 stop_app() 也只能把應用放到後臺,下次再喚起應用時,初始頁面依舊是上次退出時的頁面。

所以究竟有沒有什麼辦法可以清除iOS的後臺應用,從而保證應用的初始頁面一致呢?下文我們一起來探討下。

清除iOS後臺應用實踐

既然沒有接口可以給我們用來清除iOS的後臺應用,那我們可以換一種解決思路,用Airtest模擬清理後臺應用的行爲:雙擊HOME鍵/從底部向上滑動,喚出多任務切換的界面,再通過向上滑動的動作,逐一清理後臺應用。

但實踐後發現,執行兩次 keyevent("HOME") 並不能實現雙擊HOME鍵的效果;從底部向上滑動也不能如預期那樣喚出多任務切換的界面。

那還有沒有別的方式可以喚出多任務的界面呢?其實是有的,在我們最常見的蘋果圓點樣式的輔助功能按鈕中,包含了1個名爲 應用切換器 或者 多任務 的快捷功能。

 

1、在輔助觸控中設置應用切換器


我們在示例設備中依次找到 設置--通用--輔助功能--輔助觸控 ,打開 自定頂層菜單... ,點擊 自定 的圖標,將其改成 多任務 ,此時單擊蘋果的圓點按鈕,就可以看到裏面已經出現了一個 多任務 的快捷鍵圖標:

圖片

設置好之後,我們可以通過Airtest的點擊腳本,輕鬆喚出多任務切換的界面,並通過向上滑動關掉後臺應用:

圖片

2、提高清除iOS後臺應用腳本的兼容性


雖然上述腳本可以完成清除後臺應用的工作,但實際在腳本編寫和運行的過程中,很容易發現一些影響兼容性的問題:

① 蘋果的圓點按鈕在閒置時會變成透明的,所以截圖時會把手機背景也連帶着截進去,換設備執行的時候容易找不到圖或者匹配出錯誤結果:

我們可以在設置中把這個圓點按鈕的閒置透明度改成100%,即閒置時,圓點按鈕也不會變成透明的效果: 

圖片

把其餘待測iOS設備的圓點按鈕透明度都設置爲100%,即閒置時圓點按鈕也是全黑不透明的,此時的截圖腳本就可以在更多機器上成功運行了:

 

② 不同型號的iOS任務切換器圖標不全相同比如iPhone 6的任務切換器圖標:

iPhone 7 plus的多任務圖標:

不同型號的蘋果設備,存在不一樣的應用切換器圖標,那我們總不能換一臺設備就改一次點擊切換器圖標的腳本吧?當然不是。更好的解決辦法是,我們把這幾種圖標保存在1個列表裏面,只要列表中的任意1個圖標出現了,我們就進行點擊操作:

這樣即使更換了iOS設備,應用切換器的圖標不一致了,我們還是可以使用同一個腳本:

圖片

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