本人在學習UiAutomator的時候,偶然碰到一些控件的bounds竟然是[0,0][0,0]的情況,十分費解,能找到就是無法點擊,或者層級太複雜,比如說京東app領取優惠券的頁面,我想根據優惠券內容選擇點擊有方的“立即領取”按鈕等等。這裏分享一下自己寫的方法,說一下是用獲取上一次的控件的尺寸來計算座標的。
//點擊控件右半邊
public void getUiObjectByResoureIdAndclickRightHalf(String id) throws UiObjectNotFoundException {
//獲取控件大小
Rect sss = getUiObjextByResourceId(id).getBounds();
//計算中心偏移量
clickPiont(sss.centerX()+sss.width()/4, sss.centerY());
}
//點擊控件左半邊
public void getUiObjectByResoureIdAndclickLeftHalf(String id) throws UiObjectNotFoundException {
//獲取控件大小
Rect sss = getUiObjextByResourceId(id).getBounds();
//計算中心偏移量
clickPiont(sss.centerX()-sss.width()/4, sss.centerY());
}
從這件事情來看,源碼還是很有必要看一看的。有需要的朋友可以留下你的郵箱。