admin管理员组

文章数量:1656763

airtest 介绍

airtest使用截屏录制脚本和使用poco控件录制脚本。会点python用起来更nice了。

Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。

 

  • airtest是一个跨平台的UI自动化测试工具,推出了强大的自动化编辑工具,airtest IDE。  
  • airtest IDE 提供了两个测试框架,airtestpoco
  • airtest是基于图像识别的。
    原理:利用截图的方式,在已展示出的手机界面中寻找所匹配的图片
  • poco是UI自动化框架,提供了丰富的API处理UI上的各类操作。
    原理:类似appium,基于UI控件搜索的自动化测试框架,定位目标控件,然后调用函数方法对目标控件进行操作
  • airtest IDE 创造了极为简单易懂的操作工具,非常适用于没有任何自动化基础的开发测试人员。利用airtest图像识别,可以简单通过点击,选择,截图完成一套UI自动化代码。

airtest 能做什么

   游戏测试     App测试(Android/iOS)     Web测试     Win应用测试

   功能测试流程:需求分析--测试计划--用例设计--测试执行–测试报告

   自动化测试流程:测试用例选择--脚本实现---测试执行---测试报告

airtest 官网

下载地址:http://airtestease

AirtestIDE的使用教程跟文档:http://airtestease/docs/cn/index.html

airtest 工具安装

下载对应的版本,解压后双击AirtestIDE.exe即可运行

如果使用poco框架,则需要安装pcpoui依赖

pip3 install pocoui

airtest 工具介绍

  •     airtest辅助窗
  •     poco辅助窗
  •     设备窗
  •     工具栏
  •     脚本编辑器
  •     logo查看

连接手机

android手机依赖adb shell作为电脑与手机的链接。首先必须确保adb devices可以连接手机。刷新侧边栏的ADB,查看airtest是否识别到手机,点击connect链接,即可实时查看到手机屏幕状态。

 Airtest脚本录制–基于图像识别(挣实惠购物流程)

 

  • touch(): 点击操作,根据录制脚本时所截取的图像进行点击
  • wait(): 可以等待画面中某个图片出现,如果在指定的时间范围内匹配到了该图片,就会返回图片所处位置的焦点,否则抛出TargetNotFoundError异常
  • swipe():可以从一个位置滑动到另外一个位置
  • exists():判断画面中是否存在某个图片,如果匹配到图片,返回图片所处位置的焦点,否则返回False
  • text():输入文本
  • sleep():线程挂起
  • assert_exists():断言图片存在于当前画面上
  • assert_not_exists():断言图片不存在
  • assert_equal():断言数值相等
  • assert_not_equal():断言数值不等
  • # assert_exists()与assert_equal()的区别在于,assert_exists断言的对象是图片,assert_equal断言的对象是数值

测试报告

 

 POCO脚本录制--基于UI事件元素

!!!此时一定要注意,手机连接airtest后,选择poco辅助窗是,手机上会自动安装pocoservice。如果不安装的话,脚本录制不了,你会看不到ui树,无法进行找元素。

安装完成pocoservice后,把poco辅助窗中的stop切换到Android,然后开始录制

# -*- encoding=utf8 -*-

 

__author__ = "lsande"

  

from airtest.core.api import *

 

auto_setup(__file__)

 

from poco.drivers.android.uiautomation import AndroidUiautomationPoco

 

poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

 

poco(text="挣实惠").click()

 

sleep(4)

 

poco("cn.zhengshihui.earnbenefit:id/tab_search2").click()

 

poco(text="铅笔").click()

 

poco("cn.zhengshihui.earnbenefit:id/search_result_ll").offspring("cn.zhengshihui.earnbenefit:id/search_recommend_rv").child("cn.zhengshihui.earnbenefit:id/product_item_constra")[0].child("cn.zhengshihui.earnbenefit:id/return_price_before_tv").click()

 

poco("cn.zhengshihui.earnbenefit:id/product_detail_refresh_page").swipe([-0.1732, -0.5023])

 

poco(text="点击查看商品详情").click()

 

poco("cn.zhengshihui.earnbenefit:id/product_image_line").swipe([-0.0254, -0.4261])

 

poco("cn.zhengshihui.earnbenefit:id/buy_coupon").click()

 

poco(text="立即领券").click()

本文标签: 控件脚本入门案例系统