手机自动化测试
针对某应用的代码测试,termux+uiautomator2环境,代码编写-python3
一. 环境配置
1. 手机安装termux软件(下载termux,提取码:30f6)
安装且初始化完成:
2. termux更换软件源:
cd /data/data/com.termux/files/usr/etc/apt#进入目录
#编辑软件源文件
mv sources.list sources.list.bak #备份
vi sources.list
更换为清华源
# The termux repository mirror from TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux stable main
3. 软件安装和配置(需要耐心)
#首先是常规升级
apt update
apt upgrade
#获取手机读写权限
termux-setup-storage
#然后是安装需要的软件
apt install openssh
apt install python
apt install git
pkg install termux-auth
pkg install termux-tools
pkg install clang
pkg install libxml2 libxslt libiconv
4. 导入uiautomator2的model文件
model下载 提取码:8dcz
将文件移动至手机文件的根目录
#复制到python3.8model目录下
cp /data/data/com.termux/files/home/storage/shared/uiautomator2.zip\
/data/data/com.termux/files/usr/lib/python3.8/site-packages/
cd /data/data/com.termux/files/usr/lib/python3.8/site-packages/
unzip uiauyomator2.zip #解压
5. pip安装python依赖库
pip install --default-timeout=1000 humanize
pip install --default-timeout=1000 retry
pip install --default-timeout=1000 requests
pip install --default-timeout=1000 progress
pip install --default-timeout=1000 humanize
pip install --default-timeout=1000 adbutils
pip install --default-timeout=1000 six
pip install --default-timeout=1000 logzero
pip install --default-timeout=1000 Cython
pip install --default-timeout=1000 lxml
或者
pip install --default-timeout=1000 humanize retry requests progress\
humanize adbutils six logzero Cython lxml
6.在手机termux中安装adb
adb_arm获取,移入手机根目录
mv /data/data/com.termux/files/home/storage/shared/adb \
$PREFIX/bin
chmod +x $PREFIX/bin
基础配置完成
二. 电脑端uiautomator2安装及终端设备初始化
1、安装uiautomator2,执行命令
python2版本
pip install --pre -U uiautomator2
python3版本
pip3 install --pre -U uiautomator2
2、设备安装atx-agent和atx-apk
首先Android设备连接到PC,打开usb调试,usb安装,usb调试,记得完成后及时关闭权限
![](https://i-blog.csdnimg.cn/blog_migrate/71cf1d36bf71a1acdce4a8ecb2fb2810.jpeg)
在电脑端安装python,安装adb
adb devices#查看设备是否连接
python -m uiautomator2 init #python初始化设备
最后提示success,代表atx-agent初始化成功。
三. termux端检测:
依次输入
python3 #进入python3命令行
import uiautomator2 as ui2
d = ui2.connect('0.0.0.0')
![](https://i-blog.csdnimg.cn/blog_migrate/c32a15f23c310bfa7c3f7abca9e9a9ad.jpeg)
结束
关于某个应用的测试:(服务器太卡~~)
相关代码 https://gitee.com/weilizhang/autock