1.安装adb shell
只需要下载zip包即可,解压后即可用。
https://www.xda-developers.com/install-adb-windows-macos-linux/
2.获取设备操作后的指令
3.uiautomator自动化测试框架
1.安装app自动测试框架
pip install uiautomator2
2.安装atx-agent至手机
python3 -m uiautomator2 init
import uiautomator2 as u2
d = u2.connect_usb(‘xxxxx’)
3.1通过USB连接
import uiautomator2 as u2
d = u2.connect_usb('设备号')
3.2通过WiFi连接
import uiautomator2 as u2 //依赖包
d = u2.connect('IP地址')
5.控件识别
pip3 install weditor
使用方法
1.手机连接pc,adb命令保证能正确读取到设备
2.pc终端输入python3 -m webditor,浏览器自动打开网页http://atx.open.netease.com
3.网页对应位置输入手机设备ip,点击connect连接手机设备,最后根据需要获取手机/app对应元素
正常启动页面如下:
设备id输入/Connect连接/reload刷新页面
7. python操作adb
pip install pure-python-adb
4.流式获取手机屏幕
实时显示手机屏幕
安装scrcpy
安装scrcpy-server.jar
主要步骤如下:
通过 adb push 一个 scrcpy-server.jar 到手机上。
注: scrcpy-server.jar 是虽然是一个 zip 文件。 但是其实是一个apk。
PC 端通过 adb reverse 反向代理手机端口。用来接收手机端发送过来的数据。
adb shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process /com.genymobile.scrcpy.Server com.genymobile.scrcpy.Server 0 8000000 false - false 使用 app_process 运行 scrcpy-server.jar 的代码。
scrcpy-server.jar 主要做三件事情:
1,开启 LocalSocket 和PC连接。 相应 PC 端传递过来的操作。
2,源源不断的将屏幕画面输出到PC,使用Mediacodec 编码。 PC 通过ffmpeg 解码播放。
3,使用 adb 来提高 scrcpy-server.jar 的运行权限
注: 模拟 input 事件使用 android.hardware.input.IInputManager.injectInputEvent 方法。
注:scrcpy-server.jar的获得方式:下载scrcpy-server-v1.17后重命名为scrcpy-server.jar,参考:Is it possible to redirect the stream to another application ? #1073