简介

本来想用 TIM 的在线文档来着,结果经常保存出错,害的写了好久的文档一瞬间就没了。然后也没有找到别的合适的记录问答的地方,就先写在 testerhome 吧

Question & Answer

Q: uiautomator2 如何对单个设备进行初始化?
A: python -m uiautomator2 init --serial $SERIAL

Q: WEDITOR 是不是对安卓 5 以下的不友好?
A: 对 Android 4.3(SDK: 18) 以上的支持的都很好。

Q: 有什么办法能够加快 atx 对 android 设备的图片的识别速度吗,感觉好慢啊?
A: atx 的识别速度本身已经是毫秒级的了,影响速度的主要是截图速度,目前是通过 minicap 截图的,已经很快了

Q:uiautomator2 的报错
uiautomator2.JsonRpcError:-32001 Server error: java.lang.IllegalArgumentException <Illegal character (d83d) >
A: 应该是界面上有什么特殊字符,java 代码那部分处理的有问题。相关项目地址:https://github.com/openatx/android-uiautomator-server

Q: `cannot identify image file <_io.BytesIO object at 0x07598adfa>
A: 暂时我也没遇到过这个问题,可以通过下面的方法分析下。

  1. 手机打开http://127.0.0.1:7912/screenshot/0看看显示的什么
  2. adb shell cat /sdcard/atx-agent.log看看有什么报错不

Q: Command 'adb -s 87a6sdf9s forward --list' return non-zero exit status 1
A: 有可能是 adb 没加入环境变量,或其他 adb 相关的问题。用下面的命令分析下

  1. adb devices看看设备是不是 offline
  2. 命令行下运行下报错的命令,看看输出什么 adb -s 87a6sdf9s forward --list

Q: weditor 的报错

A: 先点击 Connect,然后再点击 Reload

Q: ModulesNotFoundError: No module named 'cv2'
A: 这个错误是因为 opencv 没有安装,安装方法 pip install opencv-contrib-python

Q: 使用 atx uiautomator2 init 之后,uiautomatorviewer 就不能使用了

A: 凡是用到 accessibilityservice 的程序互相之间都会冲突,解决方法是需要先关掉 atx uiautomator2. 给 uiautomatorviewer 让路

  1. 打开 uiautomator 这个应用
  2. 点击停止UIAUTOMATOR

使用 python 代码停止到 uiautomator 的方法是d.service("uiautomator").stop()

Q: 话说 atx server 能不能通过 wan 链接手机呢?如果能,岂不是在异地也能管理?
A: 计划中

Q: uiautomator2 更新命令是什么来的?
A: pip install --upgrade --pre uiautomator2

Q: airtest 也是另外一个 atx,有什么联系??
A: 以前设计 airtest 的时候感觉各种架构都不好,然后就大改了一波,当时改了快 2 个星期的样子。为了和之前的分开来,就改名了。一开始叫 AutomatorX,但是名字太长了,打字不方便,就简化成了现在的 atx

Q: atx-agent 怎么升级?
A: 先升级 uiautomator2,然后重新运行命令python -m uiautomator2 init

Q: 联想手机,chmod 777 /data/local/tmp/atx-agent 授权过了, 但没有用,查看权限,只有 rw,没有 e 权限
A: nobia 的手机有类似的问题。将atx-agent放到这个目录下 /data/data/com.android.shell, 就可以了

Q: uiautomator2 使用不了,日志/sdcard/atx-agnet.log中发现下面的错误

A: 运行python -muiautomator2 init命令,手机上会安装两个 apk,这个错误应该是包名com.github.uiautomator.test的 apk 没有安装

Q: 手机关机,重启后,不能自动连接上 atx-agent,都要重装 uiautomator
A: 必需重新再 init 一下。如果嫌每次都要 init 麻烦,可以看下这个项目,它可以在手机插上电脑之后,自动执行 init。adbkit-init


↙↙↙阅读原文可查看相关链接,并与作者交流