android 例子源码_自己如何修改Airtest的源码

9efc823834b6f17dc3c053209c1ff2e6.png

前言

相信小伙伴们多少都会遇到想要修改Airtest源码,方便自己脚本编写的情况。这时,部分同学会立即去修改AirtestIDE文件夹下Airtest库的.py文件(如下图),其实这样修改是无效的,并不会达到预期的效果。

97923f61278c172834175612e8b8e1c2.png

正确的修改Airtest源码的步骤是:

  • 在本地安装python环境
  • 安装Airtest
  • 安装Poco
  • 在本地的Airtest库中修改源码

在本地安装python环境

Airtest支持Python版本为2.7或者<=3.6,但是我们更推荐使用 Python3。如果你愿意的话我们也同样建议使用 virtualenv 等虚拟环境新建一个干净的python环境。各个版本的python可以自行到python官网上下载安装。

安装Airtest

  1. 使用 pip 安装Airtest框架 pip install airtest
  2. 注意: 在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

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

  • 问题的根本原因应该是DLL文件的缺失,我们将它们放入了IDE的目录中,可以直接下载一个最新版本的AirtestIDE,在解压后的目录中找到api-ms-win-downlevel-shlwapi-l1-1-0.dllIEShims.dll两个DLL文件,将他们复制到C:WindowsSystem32目录,重新运行代码即可解决
  • 如果使用了python3.7,请安装 Visual C++ redistributable 2015
  • 如果使用的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

安装Poco

使用 pip 安装poco框架 pip install pocoui,请注意库的名称为 pocoui,不是poco,请不要填错。

7c0604646e05ba567aba10e4e387998a.png

如果你在命令行中使用pip list ,看到同时存在pocopocoui两个库,请把poco卸载,因为pocoui才是正确的库。

在本地的Airtest库里面修改源码

完成上述三步以后,其实就是在本地部署了一个python环境来使用airtestpoco。然后我们可以修改本地安装的Airtest库里面的源码,使得修改生效。

举个例子,打开你本地安装的Airtest库,找到Airtest>--airtest>--core目录下的api.py文件,在touch方法里加一条代码,如下:

084b2ee309f79ca3596d6b4b89f1a5b4.png

那么你在命令行运行脚本的时候,如果脚本里面写有touch语句,你在touch方法里面增加的print语句也会生效:

46b2a02e87b2ddc5563cc52513e2d244.png

如果想要你修改的内容在IDE也生效的话,只需要将IDE的运行环境改成本地运行环境即可:

84898cbc5fa5d8f9bc2f8680bb03826a.png

这时候IDE运行时,使用的Airtest库就不是IDE自带的Airtest库,而是你在本地安装的Airtest库,运行一条touch语句,之前对touch方法的修改也会在IDE里面生效了:

8d851984732f5d168589874973ff08c5.png

欢迎大家加入我们软件测试交流群(群号见文章开头图片)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值