Robotium中定位Android客户端疑难元素

对于没有id,没有text,只有一个图标的疑难元素(ImageView),应该如何定位呢?拿人人网个人主页的设置按钮举例:

我最终是通过定位页面上可以定位到的其他元素,然后通过其他元素与疑难元素相对坐标的距离判断,从而定位到疑难元素的。由于这个左上角的疑难元素和“我”的纵坐标目测是一样的,所以把“我”这个textView的坐标获取到(oxy),取其纵坐标;通过试验,下面的红圈覆盖区域的view可以通过id"com.renren.mobile.android:id/image_tab_icon"获取到,且目测它的横坐标和疑难元素接近,故将这个view的坐标获取到(oxy2),取其横坐标并在此基础上加减,最终通过试验推出疑难元素的一个可点击坐标,为“oxy[1]-10”。最后通过solo对象的clickOnScreen方法就可以点击到这个疑难元素(设置按钮)。

代码如下:

public void test throws InterruptedException {
    int oxy[]=new int[2];
    int oxy2[]=new int[2];
    TextView textView=solo.getText("我");
    textView.getLocationOnScreen(oxy);
    solo.getView("com.renren.mobile.android:id/image_tab_icon").getLocationOnScreen(oxy2);
    solo.clickOnScreen(oxy2[0], oxy[1]-10);
}

如果还有其他的好方法,欢迎提出。

posted @ 2016-04-05 20:44  天外归云  阅读(334)  评论(0编辑  收藏  举报