zoukankan      html  css  js  c++  java
  • 一文掌握airtest自动化测试工具

    首先申明  本文转载至https://blog.51cto.com/xqtesting/2441201?source=drt      感谢 小强测试  分享。

    之前小强写过一篇airtest的文章,链接在这里https://blog.51cto.com/xqtesting/2420165

    这次是学员的原创文章也是关于airtest的,献给大家,本文最终版权归学员斌宇所有

     

    一、Airtest的简介

    对于测试人员而言。小程序测试一定要在上线后关注并验证。小编所在项目现已完成手APP/微信小程序渠道的UI自动化测试和监控的建设。以下说明如何使用airtest实现小程序的渠道监控。

    说明:

    Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。小编就是基于它做了二次开发实现的自动化测试和监控告警的功能。

    git地址:

    https://github.com/AirtestProject/Airtest

     

    二、关于自动化测试

    意义:节省人力、物力、时间、硬件资源等,提升测试效率,特别对于繁琐重复的测试用例,可以使测试人员更专注于新的测试模块的建立和开发,从而提高测试覆盖率。

    市面上常见的UI自动化测试工具以及优缺点:

     

    一文掌握airtest自动化测试工具

     

    相较于以上工具来说,Airtest有以下优点和缺点:

     

    一文掌握airtest自动化测试工具

     

     

    三、环境的搭建

    AirtestIDE已经帮你集成了所有的环境,自带录制脚本栏,自动生成脚本,自带编辑器还自带模拟器,有了一个AirtestIDE就可以轻松简单的录制脚本了。下载地址是Airtest的官网:

    http://airtest.netease.com/

    AirtestIDE的使用教程跟文档也在下面的连接中:

    http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html

    1、进入官网:http://airtest.netease.com/,下载airtest,解压,点击exe启动即可。

    2、连接手机:

    http://airtest.netease.com/docs/cn/2_device_connection/1_android_phone_connection.html

    http://airtest.netease.com/docs/cn/2_device_connection/2_android_faq.html

    不同的手机,可能会略有不同。核心都是要打开手机的开发者模式,打开USB调试。

    Airtest通过adb连接你的设备到电脑,再接入Airtest框架以完成录制和脚本运行。

    Airtest框架调用的adb路径为:{Airtest安装路径}airtestcoreandroidstaticadbwindows

    在使用AirtestIDE连接设备之前,先通过adb devices命令确认设备已经连接。

    当真机能够成功接入时,在device窗口会自动识别出真机设备。

     

    一文掌握airtest自动化测试工具

     

     

    连接模拟器时,可以在远程设备连接选项中连接模拟器的设备连接代码,也可以通过adb连接完成之后识别。

    注意:需要勾选Use javacap选项可参考官方文档:

    http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html

     

    四、简单使用

    按照官方文档进行即可。主要用到的功能是录制、touch、sleep、assert_exists等功能。

     

    一文掌握airtest自动化测试工具

     

    一文掌握airtest自动化测试工具

     

     

    五、小程序自动化环境配置

     

    一文掌握airtest自动化测试工具

     

    一般输入debugx5.qq.com 可打开调试功能。但如果出现下面的问题:

    一文掌握airtest自动化测试工具

     

    则需要进行输入命令

    debugmm.qq.com/?forcex5=true

    点击后效果如下:

    一文掌握airtest自动化测试工具

     

    debugtbs.qq.com

    点击后效果如下: 注意 “内核未被禁用”的选项是打开状态

     

    一文掌握airtest自动化测试工具

     

     

    最后可以点击 debugx5.qq.com

     

    一文掌握airtest自动化测试工具

     

    勾选会让你重启微信

    总结:

    如果突然发现无法识别小程序中的元素,把上面的命令重来一遍:

    debugmm.qq.com/?forcex5=true

    debugtbs.qq.com

    debugx5.qq.com

     

    六、Python运行air脚本

    Airtest脚本基于python语言,官方推荐使用python运行脚本

    安装部署python环境

    推荐安装python3.5以上版本,并配置环境

    Python必备库安装

    pip install airtest

    pip install pocoui

    然后再下载一个Python的编辑器来编辑代码,个人推荐使用的是pycharm。接下来就是使用官方提供的启动demo

    代码:

    from airtest.core.api import *
    # 通过ADB连接本地Android设备
    connect_device("Android:///")
    #安装待测软件apk,路径信息。
    install("path/to/your/apk")
    #开始运行appstart_app("com.pingan.certicationApp")
    #点击某个图片,Airtest中基于图像识别语法,图片自己提供。
    touch(Template("image_of_a_button.png"))
    #滑动语音,开头图片跟结尾图片
    swipe(Template("slide_start.png"), Template("slide_end.png"))
    #添加断言的图片
    assert_exists(Template("success.png"))
    #点击Android上的返回键
    #keyevent("BACK")
    #点击Android上的Home键返回
    #home()
    #uninstall("package_name_of_your_apk")

     

    七、框架代码详解

    脚本如下:

    实现了多case同时运行生成聚合报告

    不同设备运行同一脚本

     

    一文掌握airtest自动化测试工具

     

    AllReportStartCMD.py文件既是通过python执行cmd命令

     

    一文掌握airtest自动化测试工具

     

    运行该文件 AllReportStartCMD.py后,得到报告:

     

    一文掌握airtest自动化测试工具

     

    至于怎么与jenkins集成,就很简单了,把这个AllReportStartCMD.py文件写到jenkins任务里即可

     

    一文掌握airtest自动化测试工具

     

    之后进行构建就可以看到结果啦。

     

     

  • 相关阅读:
    redis 数据库总结
    drf 序列化类总结
    drf 视图类经典总结
    celery 简介
    虚拟环境搭建pip换源
    git 与 svn,简介差别
    redis 数据库简介
    auth 模块
    python的注释与用户交互 基本数据类型
    python入门
  • 原文地址:https://www.cnblogs.com/majunBK/p/11882456.html
Copyright © 2011-2022 走看看