开始配置uiautomator2
pip install --pre -U uiautomator2
##也可以是 pip install uiautomator2
会在你的python内安装uiautomator2模块
安装完成之后,需要初始化手机端的服务。
python -m uiautomator2 init
这个是重点后面会经常用到, 初始化会自动从github上下载6个重要的文件安装到手机中。
其中包括(minicap ,minicap.so ,minitouch,atx-agent,两个APP(uiautomator.apk com.github.uiautomator.test.apk)
win10下面会在c盘当前用户目录下生成 .uiautomator2 的缓存文件夹,这6个文件都在里面,init初始化的过程中有坑,新手会经常遇到各种问题各种报错
首先要排除以下原因
adb shell chmod 777 /data/local/tmp
adb push app-uiautomator.apk /data/local/tmp/app-uiautomator.apk
adb shell chmod 777 /data/local/tmp/app-uiautomator.apk
adb push app-uiautomator-test.apk /data/local/tmp/app-uiautomator-test.apk
adb shell chmod 777 /data/local/tmp/app-uiautomator-test.apk
adb push atx-agent /data/local/tmp/atx-agent
adb shell chmod 777 /data/local/tmp/atx-agent
adb push minicap /data/local/tmp/minicap
adb shell chmod 777 /data/local/tmp/minicap
adb push minicap.so /data/local/tmp/minicap.so
adb shell chmod 777 /data/local/tmp/minicap.so
adb push minitouch /data/local/tmp/minitouch
adb shell chmod 777 /data/local/tmp/minitouch
adb shell pm uninstall com.github.uiautomator
adb shell pm uninstall com.github.uiautomator.test
adb shell pm install /data/local/tmp/app-uiautomator.apk
adb shell pm install /data/local/tmp/app-uiautomator-test.apk
adb shell /data/local/tmp/atx-agent server --stop
adb shell data/local/tmp/atx-agent server -d
pause
安装完成后手机会有一个小车apk
执行 python -m weditor
之前可能要pip install weditor
成功后会打开一个网页
可以通过wifi和usb两种方法连接 ,这个时候只需要把WIFI IP和 SN设备序列号添加进去,加载出绿色叶子图标就是连接状态,之后reload一下,就会加载出当前的手机截图啦~
(注意,wifi需要和电脑同一网络内哦)
在开始的时候需要执行python -m uiautomator2 init,当然你也可以写在自己的脚本之内
# coding=utf-8
import os
import time
import uiautomator2 as u2
#os.system('python -m uiautomator2 init')
d = u2.connect_usb('HI93QA51NC000WI')
#print d.info()
time.sleep(2)
d.screen_on()
#trun on the screen
time.sleep(2)
try:
d(text=u"Camera").click()
time.sleep(4)
if d(resourceId="com.android.camera2:id/shutter_button").exists:
time.sleep(2)
print "enter camera sucess!!"
else:
raise AssertionError,"enter camera fail!! "
time.sleep(2)
还有更多的API可以查看https://github.com/openatx/uiautomator2,里面已经包含了很多方法~