zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    虚基类、虚函数与纯虚函数
    从尾到头打印链表
    Login
    (转)学习技术的三部曲:WHAT、HOW、WHY
    win7mstsc连接电脑
    C#面试题
    ASP.net C#笔记 (一)新建三层项目
    asp.net (一) 语法
    云服务器寻找
    VB.net笔记 (二)内置对象
  • 原文地址:https://www.cnblogs.com/niuniumother/p/11319802.html
Copyright © 2011-2022 走看看