Airtest:Windows桌面应用自动化测试四【Airtest之python本地环境安装、独立IDE运行】

news/2024/7/16 8:00:21 标签: windows, python, ide

Airtest之python本地环境安装、独立IDE运行

  • 一、环境配置
  • 二、安装Airtest
  • 三、安装poco
  • 四、常见问题
    • 4.1若运行代码时,在cv2模块报ImportError: DLL load failed: 找不到指定模块的错,有几种解决方案:
      • 4.1.1.本问题的根本原因应该是DLL文件的缺失,我们将它们放入了IDE的目录中,可以直接下载一个最新版本的AirtestIDE,在解压后的目录中找到api-ms-win-downlevel-shlwapi-l1-1-0.dll和IEShims.dll两个DLL文件,将他们复制到C:\Windows\System32目录,重新运行代码即可解决
      • 4.1.2.如果使用了python3.7,请安装 Visual C++ redistributable 2015
      • 4.1.3.如果使用的python版本低于3.7,请直接运行:
    • 4.2、若在win.py中import win32api时报DLL load failed,可以尝试重新安装pywin32模块:
    • 4.3、python3.9如果安装完毕还不能使用airtest,报错ImportError: numpy.core.multiarray failed to import,可以手工将 numpy 版本号降级至1.19.3就能使用了。
    • 五、使用本地python环境运行
  • 六、设置本地Python环境为AirtestIDE运行环境
    • 1.首先找到你的python路径:
    • 2.之后在airtestIDE里设置python路径即可,以后你在airtestIDE里运行,用的就都是本地python环境了,如果出现了什么问题,把本地python路径在设置中清除即可。

一、环境配置

airtest框架支持python2、python3支持到3.9
airtestIDE自带的python3.5
官方推荐使用python3
我个人推荐python3.8,3.9太新可能有兼容问题,3.8就可以用到python3的很多新特性了。

之前都是一直在airtestIDE里运行脚本,如果想脱离IDE运行(比如持续集成),就需要安装Python环境了。
我个人强烈推荐使用Python虚拟环境,比如conda,可以建立多个Python环境,互不干扰还能快速切换。
点击《Miniconda安装教程,并使用PyCharm创建相关项目》了解conda
之前也说过,airtest project包含两个python框架:airtest和poco,安装也和其他python第三方包一样。

二、安装Airtest

python">pip install airtest

# 如果你下载比较慢,可以试试国内的源
pip install airtest -i https://pypi.tuna.tsinghua.edu.cn/simple

# 在Mac/Linux系统下,需要手动赋予adb可执行权限,否则在执行脚本时会遇到 Permission denied 的报错:

# mac系统
> cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac

# linux系统
> cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux
> chmod +x adb
找不到路径没关系,你就运行你的脚本,第一次报错了,错误日志里也能找到路径。

三、安装poco

python">pip install pocoui
注意包名是pocoui,不是poco!!!

四、常见问题

4.1若运行代码时,在cv2模块报ImportError: DLL load failed: 找不到指定模块的错,有几种解决方案:

4.1.1.本问题的根本原因应该是DLL文件的缺失,我们将它们放入了IDE的目录中,可以直接下载一个最新版本的AirtestIDE,在解压后的目录中找到api-ms-win-downlevel-shlwapi-l1-1-0.dll和IEShims.dll两个DLL文件,将他们复制到C:\Windows\System32目录,重新运行代码即可解决

python37_Visual_C_redistributable_2015_40">4.1.2.如果使用了python3.7,请安装 Visual C++ redistributable 2015

https://www.microsoft.com/en-us/download/details.aspx?id=48145

python37_43">4.1.3.如果使用的python版本低于3.7,请直接运行:

python">> pip uninstall opencv-contrib-python   
# 若以下安装语句运行失败,可以尝试更新pip到最新版本后重试   
> install opencv-contrib-python==3.2.0.7 

4.2、若在win.py中import win32api时报DLL load failed,可以尝试重新安装pywin32模块:

python">pip uninstall pywin32
pip install pywin32==223

python39airtestImportError_numpycoremultiarray_failed_to_import_numpy_1193_55">4.3、python3.9如果安装完毕还不能使用airtest,报错ImportError: numpy.core.multiarray failed to import,可以手工将 numpy 版本号降级至1.19.3就能使用了。

python">pip install -U numpy==1.19.3

python_61">五、使用本地python环境运行

本地python环境搭建完成后,让我们运行一下看看。现在还不懂运行命令没关系,先在IDE运行一下你的脚本,在日志区最上会将运行命令打印出来,直接复制这个命令去命令行运行即可
在这里插入图片描述
在有些命令行工具中,可能识别有问题,需要把每个参数后面跟的参数用双引号括起来。
另外IDE里显示的命令是用的IDE里的文件,用我们本地python环境运行的话可以用命令airtest run
所以如图的命令最终就是:

airtest run "/Users/szh/my_test/untitled.air"  --device "android://127.0.0.1:5037/1830e25?cap_method=JAVACAP&&ori_method=MINICAPORI&&touch_method=MINITOUCH" --log "/your_logfile/"

六、设置本地Python环境为AirtestIDE运行环境

什么情况下在IDE里使用本地环境?

你使用了airtestIDE没有的第3方包

你想用的python、airtest、poco版本与airtestIDE里的版本不一样

python_81">1.首先找到你的python路径:

Windows:
去环境变量Path里查看

Mac:
which python

使用的Conda:
conda info -e
在这里插入图片描述
会显示python目录,该目录下的bin文件夹里的pythonpython3就是了

pythonairtestIDEpythonpython_93">2.之后在airtestIDE里设置python路径即可,以后你在airtestIDE里运行,用的就都是本地python环境了,如果出现了什么问题,把本地python路径在设置中清除即可。

在这里插入图片描述


http://www.niftyadmin.cn/n/1007631.html

相关文章

第十三章 原理篇:SWIN-transformer

累了,没写完 面试完了再来写 参考教程: swin-transformer/model.py 文章目录 概述transformer blockswindow_partionW-MSAwindow-reversePatch Merging 概述 在前面介绍了vision transformer的原理,加入transformer的结构后,这种…

传感器消息

欢迎访问我的博客首页。 传感器消息 1. 话题1.7 Landmark 1. 话题 从 cartographer_ros/node_constants.h 中可以看到 cartographer 订阅 4 类共 7 种话题: // 1.1 Range Data。 constexpr char kLaserScanTopic[] "scan"; // 激光雷达。 c…

【PCL】(一)PCL基本数据结构PointCloud与原生文件格式PCD

文章目录 PCL基本数据结构PCD文件PCD版本文件格式标头数据存储类型PCD文件示例 PCL基本数据结构 PCL 1.x 的基本数据结构是PointCloud。PointCloud是一个C类,它主要包含以下数据字段: width (int) 指定点云数据集的宽度(以点数为单位)。宽度有两个含义…

【python】使用Antlr4实现识别sql中的表或视图名

前言 先上成果预览图吧 作为一个数据库sql开发者,肯定有很多人和我一样,想要有一个工具,能传入任意sql,解析出sql中的所有表。 我之前有一篇文章【AIO】将任意查询sql转换成带远程数据库DBLINK的sql 中就提到了,使用纯文本硬解析会存在很多不确定因素,比如oracle新版本…

Mac电脑使用:判断ARM64 or x64的方法

ARM64 ARM64是ARM中的64位结构,ARM归于精简指令集体系,也叫RISC指令集体系,一般是iOS系统在用,汇编指令较简单。现在新款的Mac电脑使用的芯片是ARM的。 x64 x64是x86系列中的64位结构,x86属于复杂指令集体系&#x…

Dubbo接口级服务发现-数据结构

目录 Dubbo服务治理易用性的原理: URL地址数据划分: Dubbo接口级服务发现---易用性的代价 Proposal,适应云原生、更大规模集群的服务发现类型。 Dubbo3应用级服务发现---基本原理 Dubbo负载均衡机制 常规负载均衡算法 负载均衡策略&am…

adb Monkey各个参数

序号 参数 含义 01 -p 指定被测应用程序 02 –pct-touch 60 点击事件占60%比重 03 –pct-motion 10 滑动事件占10%比重 04 –pct-majornav 20 主要导航事件占20%比重 05 –pct-syskeys 10 系统级事件操作占10%比重 06 –throttle [毫秒…

抖音seo矩阵系统源码开发部署|抖音小程序接入(一)

一、 开发部署步骤: (1)申请开放平台服务商 (2)申请开放平台网站应用 (3)申请开放平台应用权限 (4)提交各个API接口申请文档 (5)审核通过技…