Airtest-UI自动化工具的使用

1、Airtest工具的介绍

  •  Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架用的是图形脚本语言Sikuli。Sikuli这个框架的原理是:计算机用户
    不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成程序。
  • 另外,Airtest也基于poco这个U控件搜索框架,这个框架也是网易自家的跨平台U测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作。

2、工具的优缺点

    优点:

  • 框架基于图像识别。控件识别,操作简单
  • 对代码能力要求不高,可直接录制脚本并一键生成报告
  • 支持python进行个性化脚本编程
  • 支持android、ios、windows和unity

    缺点:

  • 稳定性差,控件定位不太准确,如果控件位置变更或控件图案修改,会找不到控件

3、环境搭建

           AirtestIDE内置了Python3.6.5,airtest和poco环境,本地无需安装python环境就能 直接使用

  • AirtestIDE的官方文档:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html
  • 利用Airtest的API,可拓展更高级的功能
    先下载airtest的python第三方依赖库
     
    $brew install python3.6.4
    #下载python3 
    $pip install Airtest
    #下载Airtest python第三方依赖库
    $pip install poco
    #下载Airtest提供的Android app ui测试库pocoui
    $brew cask install android-sdk 
    #安装Android-sdk

    然后就可以用python编辑器如pycharm进行写脚本了:

4、设备连接

  • 1、手机打开开发者模式后,进入到开发者模式里,选上【启动USB Debug模式】
  • 2、使用数据线连接手机和PC
    在界面上就能查看到设备号,点击connect 就可以了

连接成功会出现:

5、AirtestIDE的应用-两种模式

5.1  Airtest框架基于图像识别

脚本录制:选择airtest辅助窗,点击 目标 按钮后,在设备画面上按下鼠标左键进行截图框选,抬起鼠标左键完成框选。对应操作语句会自动插入编辑器脚本中。

Airtest中的常用API包括设备连接管理、设备操作`断言`等三类API

在AirtestIDE的Airtest录制辅助窗内,包含有三种类型的录制按钮:

5.2 Poco框架基于UI控件搜索

脚本录制:选择poco辅助窗,直接操作目标APP,就能自动生成脚本,如下图。

AirtestIDE提供的Poco录制功能分为两种:单步录制、伴随操作自动录制。

Poco初始化代码必须放在poco语句之前:

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

退出录制方式:再次点击自动录制按钮 / 或者 右键菜单-"Poco Mode"-"Normal"

6、校验

assert_exists(Template("my.png"))#校验图片

assert_not_exist()

assert_equal()

assert_not_equal()

其他有待研究

7、使用命令行运行脚本

详细步骤见http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/4_run_script/run_script.html

原文地址:https://www.cnblogs.com/niuniumother/p/11319802.html