赞
踩
一、什么是pyminitouch?
minitouch是openstf基于ndk + Android开发的用于模拟人类点击行为的操作库。这个库以高稳定性、反应快著称,比起adb操作与uiautomator(两分钟搞懂UiAutomator自动化测试框架 - 知乎)都要更灵敏,被广泛应用于Android设备的精细操作。
然而它的使用与其安装方式都较为繁琐,无法定位打元素,使得它在自动化的应用领域上远远比不上uiautomator。它的体验感也较为一般,么此都要给手机重复安装指定版本的minitouch、建立、socket、然后再编辑操作命令,而且操作命令也很难阅读清楚。
pyminitouch = python + minitouch,降低使用成本,直接使用简洁的API调用
二、安装minitouch
准备工作:
(1)minitouch需要ndk,ndk下载:NDK 下载 | Android NDK | Android Developers
(2)下载相应的压缩包后进行解压。
(3)讲解压的目录添加到path环境变量中。
右击我的电脑->属性->高级系统设置->环境变量->找到path变量->新建->将文件目录路径粘贴进去
(4)运行ndk -build看是否运行成功,若像下面一样运行成功则说明安装成功。
最后出那个错是因为它找不到Android项目。
(5)安装adb:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
将下载下来的文件添加到环境变量中,方法如上面的步骤。如果安装成功执行adb会有相应的提示。
minitouch的下载:
下载需要自行安装git,windows系统不像Linux自带git功能:
下载地址: Git - Downloads
打开后进入安装页面:
一直往下安装就可以了
下载项目源码
git clone https://github.com/openstf/minitouch.git
cd C:\Users\auus\minitouch
进入文件夹后,按顺序执行下面两句:
git submodule init
git submodule update
执行到这一步后,再次执行ndk-build:
在文件中出现以上则说明安装成功。
三、安装pyminitouch
需要在python 3 上安装:
pip install pyminitouch
四、开始研究任务
在cmd中输入下面语句查询自己设备的平台:
adb shell getprop ro.product.cpu.abi
adb push minitouch /data/local/tmp
adb shell
cd /data/local/tmp
ls
chmod 751 minitouch
在上面的步骤我们已经实现将minitouch push到手机上了。
使用pyminitouch
首先,我想使用pyminitouch显示出我手机支持最大的x以及最大的y也就是屏幕的分辨率:
- from pyminitouch import safe_connection, safe_device, MNTDevice, CommandBuilder
-
- _DEVICE_ID = '35501e57'
-
- device = MNTDevice(_DEVICE_ID)
-
- # print the maximum x and Y coordinates
- print("max x:", device.connection.max_x)
- print("max y:", device.connection.max_y)
虽然代码看起来没什么问题,但是它运行起来有这个报错:
AssertionError: minitouch did not work.
那就是我刚刚装进去的minitouch并没有工作,输入以下命令:
- adb kill-server
- adb start-server
之后再次编译发现...好的,问题并没有解决...
最后,我要准备去考研啦,考完研再继续学习把!!希望我考研顺利!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。