当前位置:   article > 正文

Python+scrcpy+pyminitouch实现自动化(二)——pyminitouch的安装

pyminitouch

一、什么是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 clone https://github.com/openstf/minitouch.git

  •  进入minitouch的目录,执行下面的命令:

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

  •  将minitouch文件push到设备上(注意:Android的有些目录是无法之心结果二进制文件的,所以一般放在/data/local/tmp目录中)
adb push minitouch /data/local/tmp

  •  进入文件夹查看文件,进入shell模式
adb shell
  • 切换到/data/local/tmp目录
cd /data/local/tmp
  • 执行命令查看minitouch是否存在,存在则就安装完成
ls

  •  如果使用时提示没有权限,使用shell模式进入/data/local/tmp目录执行
chmod 751 minitouch

在上面的步骤我们已经实现将minitouch push到手机上了。

  • 使用pyminitouch

首先,我想使用pyminitouch显示出我手机支持最大的x以及最大的y也就是屏幕的分辨率:

  1. from pyminitouch import safe_connection, safe_device, MNTDevice, CommandBuilder
  2. _DEVICE_ID = '35501e57'
  3. device = MNTDevice(_DEVICE_ID)
  4. # print the maximum x and Y coordinates
  5. print("max x:", device.connection.max_x)
  6. print("max y:", device.connection.max_y)

 虽然代码看起来没什么问题,但是它运行起来有这个报错:

AssertionError: minitouch did not work.

 那就是我刚刚装进去的minitouch并没有工作,输入以下命令:

  1. adb kill-server
  2. adb start-server

之后再次编译发现...好的,问题并没有解决...


最后,我要准备去考研啦,考完研再继续学习把!!希望我考研顺利!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/556609
推荐阅读
相关标签
  

闽ICP备14008679号