您的位置:首页 > 产品设计 > UI/UE

android UiAutomator定位失灵的一种解决办法

2017-06-09 09:45 761 查看
本人在学习使用UiAutomator的时候,遇到了一个控件经常性无法定位的问题,有的时候能定位点击,有的时候就找不到这个控件,同样的代码,时灵时不灵,最近没办法找到了一个相对还不错的解决方案。下面发一下截图,就是左下角的“发送”按钮,有的在输入文字之前是另外一个“+”的控件,有点类似与微信聊天框里面的界面。

思路就是通过两种方式定位不到的话,就通过文本框,计算“发送”按钮的位置,通过坐标点击。

下面是我的代码:

//发送测试文本
public void sendTesttext(String text) throws UiObjectNotFoundException {
writeText(text);
if (getUiObjectByResourceId("com.gaotu100.superclassteacher:id/btn_send").exists()) {//通过resourceid定位
waitForResourceIdAndClick("com.gaotu100.superclassteacher:id/btn_send");
} else if (getUiObjectByText("发送").exists()) {//通过text定位
waitForTextAndClick("发送");
}else {
Rect ss = getUiObjectByResourceId("com.gaotu100.superclassteacher:id/et_sendmessage").getVisibleBounds();//定位文本框
int y = ss.centerY();//计算y坐标
int x = ss.right + 60;//计算x坐标
clickPiont(x, y);//点击坐标点
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐