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

简介: 对于没有id,没有text,只有一个图标的疑难元素(ImageView),应该如何定位呢?拿人人网个人主页的设置按钮举例: 我最终是通过定位页面上可以定位到的其他元素,然后通过其他元素与疑难元素相对坐标的距离判断,从而定位到疑难元素的。

对于没有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);
}

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

相关文章
|
Linux Android开发 iOS开发
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
195 0
|
3月前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
224 4
Android性能测试——发现和定位内存泄露和卡顿
|
7月前
|
XML API PHP
Android使用XML-RPC实现blog客户端
Android使用XML-RPC实现blog客户端
64 2
|
7月前
|
Android开发
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
|
6月前
|
开发工具 Android开发 开发者
Android `.9.png` 图像是用于UI的可拉伸格式,保持元素清晰度和比例
【6月更文挑战第26天】Android `.9.png` 图像是用于UI的可拉伸格式,保持元素清晰度和比例。通过边上的黑线定义拉伸区域,右下角黑点标识内容区域,适应文本或组件大小变化。常用于按钮、背景等,确保跨屏幕尺寸显示质量。Android SDK 提供`draw9patch.bat`工具来创建和编辑。**
262 6
|
5月前
|
XML Android开发 UED
Android动画之共享元素动画简单实践
本文介绍Android共享元素动画, 实现两Activity间平滑过渡特定UI元素。通过设置`transitionName`属性和使用`ActivityOptions.makeSceneTransitionAnimation`启动目标Activity实现动画效果。可自定义过渡动画提升体验。
85 0
|
7月前
|
JSON Java 定位技术
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
2190 0
|
7月前
|
XML JSON Java
Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
463 0
|
7月前
|
Java Android开发
Android HIDL客户端构建
Android HIDL客户端构建
53 0
|
7月前
|
安全 算法 JavaScript
安卓逆向 -- 关键代码定位与分析技术
安卓逆向 -- 关键代码定位与分析技术
167 0