UiAutomatorViewer无法获取手机截图进行元素定位的解决办法

问题描述

本来想使用UIAutomatorView定位app页面元素的,最开始我使用的是夜神模拟器,打开UIAutomatorView连接模拟器没有问题,但是后来我使用真机时发现无法连接到真机获取真机的截图,具体报错信息如下

解决办法

1. 在任意盘的根目录(不是根目录也没问题)新键app.png 与app.uix 两个文件(我这里放在的E盘下面)

2. 打开CMD按照顺序执行下面的命令

adb shell uiautomator dump /sdcard/app.uix     #  把当前窗口的UI布局信息输出到/sdcard/app.uix文件

adb pull /sdcard/app.uix E:/app.uix    #  把手机里面的app.uix文件写到本地E盘的app.uix文件

adb shell screencap -p /sdcard/app.png  # 截取当前的屏幕图片,并保存到/sdcard/app.png

adb pull /sdcard/app.png E:/app.png  # 把上面的截图文件从手机中传递到电脑的E:/app.png中

3. 导入UIAutomatorViewer

启动UiautomatorViewer, 按照下图导入两个app文件

由于这种方法,每次切换手机的页面时都需要要重新执行上述命令,所以可以把命令写到一个bat脚本里面

@echo on
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix E:/app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png E:/app.png

问题验证

导入后再次连接真机,成功

参考链接

https://www.jianshu.com/p/61b913634903

原文地址:https://www.cnblogs.com/linuxchao/p/linuxchao-appium-uiautomatorviewer-error.html

时间: 2024-08-29 11:46:06

UiAutomatorViewer无法获取手机截图进行元素定位的解决办法的相关文章

子元素的margin-top影响父元素原因和解决办法

这个问题会出现在所有浏览器当中,原因是css2.1盒子模型中规定, In this specification, the expression collapsing margins means that adjoining margins (no non-empty content, padding or border areas or clearance separate them) of two or more boxes (which may be next to one another

腾讯开发平台 手机QQ登录 错误码:110406 解决办法

腾讯开发平台 手机QQ登录 弹出登录授权失败:(错误码:110406) 解决办法, 讲qq号加到调试者列表中

关于高德地图Android开发时地图只显示一次、第二次打开不定位的解决办法

我按照高德官方Demo改的 第一次是可以定位的,如左图 第二次就不能定位了,如右图 在onDestory中把aMap置为空即可 aMap = null; 修改完如下图: 原理是第二次打开时aMap不为空,无法从mapView中getMap获取数据.

百度联盟“获取验证文件失败或文件错误”解决办法

许多朋友都用过百度联盟,不过,我相信好多朋友都会遇到过这种情况,不管你的网站是备-案了还是没备-案,你在申请百度联盟的时候都会遇到网站验证不成功的问题,提示获取验证文件失败或文件错误,请您确认正确放置后,再次点击"完成验证"按钮,如下图: 我以前没有用过百度联盟,不过我以前用过淘宝联盟.前些天我在申请百度联盟的时候需要验证网站权限,就是下载验证文件上传到网站根目录,然后点击验证的. 不过,我发现怎么验证都不成功,我的文件明明也上传到网站的根目录了.其实,对于这个问题我一直就知道怎么解决

使用float浮动之后,父元素“塌陷”的解决办法

常常在并排div的时候使用到float属性,但是使用之后会发现他们的父元素会没有高度,之后的元素会"挤上来",造成"塌陷". 比如,我们想要的如下效果: 代码如下: <!DOCTYPE html> <html>     <head lang="en">         <meta charset="UTF-8">         <title></title&g

Android手机无法访问百度空间的解决办法

本文网址:http://www.cnblogs.com/tunnel213/p/4301165.html 现象: 百度“JavaScript函数高级”后找到一篇文章,百度空间的,无法查看: 配置: 三星I929, Android 4.0, UC浏览器 诊断过程: 1.使用UC浏览其他网页正常,说明网络.手机.浏览器均正常: 2.使用UC的“网络诊断”功能,显示访问网站失败!然而使用其它手机可查看该网页,说明不是网站的原因! 3.百度后,初步认猜测可能是hosts文件的导致的! 解决: 1.已经r

在controller中无法通过注解@Value获取到配置文件中定义的值解决办法

使用springMVC的朋友,有时候可能会遇到以下问题: 想在controller中使用@Value指定变量,但是无法得到对应的值.而在server层获取,是正常的.解决方案:1:在srping-mvc.xml 加上以下配置.相当于在springmvc配置文件中也读取properties文件,这样controller就访问自己容器中的数据<context:property-placeholder location="classpath:config.properties" ign

ios移动端部分手机不支持background-attachment: fixed 的解决办法

ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before. body:before { content: ' '; position: fixed; z-index: -1; top: 0; right: 0; bottom: 0; left: 0; background: url(path/to/image) center 0 no-repeat; b

Clipboard.GetImage() Clipboard获取粘贴板内容为null的解决办法

将线程启动模式设置为 sta 单线程 简介 STA:   Single-Thread   Apartment,   中文叫单线程套间.就是在COM库初始化的时候创建一个内存结构,然后让它和调用CoInitialize的线程相关联.这个内存结构针对每个线程都会有一个.支持STA的COM对象只能在创建它的线程里被使用,其它线程如果再创建它就会失败. MTA:   Mutil-Thread   Apartment,中文叫多线程套间.COM库在进程中创建一个内存结构,这个内存结构在整个进程中只能有一个,