zoukankan      html  css  js  c++  java
  • Airtest之python本地环境安装、独立IDE运行

    本文写于2021.6月
    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!!!

    常见问题

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

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

    • 如果使用了python3.7,请安装 Visual C++ redistributable 2015
      https://www.microsoft.com/en-us/download/details.aspx?id=48145

    • 如果使用的python版本低于3.7,请直接运行:

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

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

    pip uninstall pywin32
    pip install pywin32==223

    三、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就是了

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

      

    上期回顾:AirtestIDE高级功能

    ---------------------------------------------------------------------------------

    关注微信公众号即可在手机上查阅,并可接收更多测试分享~

  • 相关阅读:
    危险系数
    快速幂模板
    回文数字
    Echart图表使用
    http请求头中Referer的含义和作用
    有关程序员的时间管理
    数据库报错 java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
    sql中字符串替换
    前端获取数据库的datetime(时间戳) 转化成日期展示出来
    MySQL版本升级
  • 原文地址:https://www.cnblogs.com/songzhenhua/p/15057120.html
Copyright © 2011-2022 走看看