上期回顧:Airtest源碼分析--Android屏幕截圖方式
不管是用Appium還是Airtest,或是其他手機UI自動化工具,你是不是經常遇到這種情況,代碼明明執行了click或swipe,怎么app上沒反應呢?
出現該種情況的原因有很多,比如有多個同名元素、分辨率|屏幕尺寸|全面屏|虛擬按鈕導致的偏移、元素還未加載或被遮擋、橫豎屏反了等待。
Airtest生成報告后,截圖上會顯示操作點、軌跡,詳情查看Airtest報告詳解
但Airtest報告的軌跡也是計算出來的,遇到極端情況,比如機型兼容、手機多次橫豎屏切換、游戲與應用的切換、游戲(橫屏)內置的sdk打開的界面(豎屏)不一致、連接設備參數不合理、airtest本身BUG等,雖然報告上的軌跡與預期相符,但實際操作的可能不是軌跡顯示的位置。
這時就需要顯示手機操作軌跡來輔助問題解決。
Android
在"設置"里找到“開發者選項”,打開“顯示點按操作反饋”、“指針位置”
“顯示點按操作反饋”會在觸摸點顯示一個白圈,有幾根手指就顯示幾個白圈
“指針位置”會在手機頂點顯示實時坐標,並留下操作軌跡。如果是點按,則留下一個小紅點,如果是滑動,則留下一條紅線。
iOS
設置中點擊“輔助功能”
點擊"觸控"
點擊"輔助觸控"
打開"輔助觸控"開關,向下滑,點擊"創建新手勢"
在"新建手勢"中輕點一下,點存儲,並給手勢起個名字,比如“軌跡”
之后,點擊浮動的輔助按鈕,點擊“自定”,點擊之前創建的"軌跡"
會在屏幕上顯示一個圓點,再進行點擊或滑動操作,圓點會隨之移動。
不想顯示軌跡再點擊一下浮動的輔助按鈕就可以了。
不過這個其實是曲線救國,這個功能是自定義手勢(相當於一個小的按鍵精靈腳本),並不是用來顯示軌跡的,所以在操作時可能會導致操作失效。不過沒關系,如果只是在出現問題時拿來看真正點擊位置還是可以的。
網上看到如果在iphone上接個鼠標,是可以顯示軌跡的
這個我沒驗證。如果你還知道其他簡單的顯示軌跡的方法,歡迎后台告訴我。
---------------------------------------------------------------------------------
關注微信公眾號即可在手機上查閱,並可接收更多測試分享~