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
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
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目录,重新运行代码即可解决
4.1.2.如果使用了python3.7,请安装 Visual C++ redistributable 2015
https://www.microsoft.com/en-us/download/details.aspx?id=48145
4.1.3.如果使用的python版本低于3.7,请直接运行:
> pip uninstall opencv-contrib-python
# 若以下安装语句运行失败,可以尝试更新pip到最新版本后重试
> install opencv-contrib-python==3.2.0.7
4.2、若在win.py中import win32api时报DLL load failed,可以尝试重新安装pywin32模块:
pip uninstall pywin32
pip install pywin32==223
4.3、python3.9如果安装完毕还不能使用airtest,报错ImportError: numpy.core.multiarray failed to import,可以手工将 numpy 版本号降级至1.19.3就能使用了。
pip install -U numpy==1.19.3
五、使用本地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里的版本不一样
1.首先找到你的python路径:
Windows:
去环境变量Path里查看
Mac:
which python
使用的Conda:
conda info -e
会显示python目录,该目录下的bin文件夹里的python或python3就是了