初识AirTest


前言

公司最近在做自动化测试,之前有了解过appuim想看看有没有更好的ui自动化框架。听同事推荐了网易的AirTest使用起来非常棒,所以推荐下。

一、UI自动化介绍与框架对比

    什么是ui自动化呢?个人理解UI自动化是通过工具或者脚本语言将测试过程模拟出来,并重复执行,用以验证功能是否正确的过程。

市场上比较常用的ui自动化框架介绍:
1、appuim:Appium是一个自动化开源框架,支持IOS平台和Android平台上的原生应用、web应用和混合应用的测试。
2、UiAutomator:UiAutomator是Android提供的自动化测试框架,基本上支持所有的Android事件操作,支持跨App。
3、Airtest Project:Airtest Project是网易出品的一款自动化解决方案,它适用于任意游戏引擎和应用的自动化测试,支持Android和Windows。它不需要依赖被测对象的源码。
4、Robotium:Robotium是基于Instrumentation框架开发的一个更强的框架。对常用的操作进行了易用性的封装。
框架对比:
在这里插入图片描述

二、Airtest项目简介

AirtestProject是由网易游戏推出的一款自动化测试框架,项目构成如下:

1、Airtest:是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。
2、Poco:是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用。
3、AirtestIDE:跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写Airtest和Poco代码。
看完对后对自动化有些了解的小伙伴相信对AirTest有了一定了解,下面我带大家搭建测试环境,对比appuim是非常简单的。

三、Airtest环境搭建及IDE使用

下载AirTest:
1、从Airtest官网:https://airtest.netease.com下载Airtest,然后像安装普通软件一样安装即可。安装过程没有什么需要特别说明的地方。Airtest已经帮你打包好了开发需要的全部环境,所以安装完成Airtest以后就能够直接使用了。遗憾的是Windows系统电脑只能做Android系统APP自动化,如果想做ios系统的自动化需要mac本支持。
iDE简使用:
1、下面以windows系统电脑为例给大家讲解下如何打开AirTestIDE。大家下载后找到解压后得到AirtestIDE文件夹,双击AirtestIDE/AirtestIDE.exe即可启动,启动后是这样的:
在这里插入图片描述可以使用网易邮箱登录,也可以使用其他方式,不想登录可以点击skip。不影响使用AirTest。登录或跳过后打开是这样的:

在这里插入图片描述
2、AirTestIDE的界面及使用介绍;
 
在这里插入图片描述
0)主菜单:

在这里插入图片描述
  文件:脚本新建、打开、保存、另存为(对应下面前4个按钮)
  运行:脚本运行、停止、报告(对应下面后3个按钮)
  设备:支持多脚本运行(不常用)
  HeadSpin:合作伙伴介绍(可忽略)
  选项:设置、语言、皮肤
  窗口:1~6 窗口打开/关闭

1)Airtest辅助窗:
 在这里插入图片描述

① 截图:用于脚本图片识别(对应右上角第1个按钮)

② 录制:自动化脚本录制,可以为我们省去很大一部分脚本编写工作(对应右上角第2个按钮)
  ③ 操作:
在这里插入图片描述
  ④ 辅助:

在这里插入图片描述
  ⑤ 断言:

在这里插入图片描述
2)脚本编辑器:

在这里插入图片描述
文件格式默认是.air脚本,自动导入airtest.core所有api方法;如果你Python基础比较好,也可以直接写纯.py脚本。

3)设备窗:

在这里插入图片描述

① 面板切换:可以切换连接面板和Windows屏(对应右上角第1个按钮)

② 设置:可以显示辅助弹窗和断开当前设备(对应右上角第2个按钮)

③ 移动设备连接:

在这里插入图片描述

④ Windows窗口连接:

在这里插入图片描述

⑤ IOS设备连接:

在这里插入图片描述

4)Poco辅助窗:

在这里插入图片描述

针对你的测试对象选择对应架构,可以显示对象UI渲染树。

5)日志查看窗:

在这里插入图片描述
6)Selenium窗(默认不打开):

在这里插入图片描述
二、连接手机

准备:安卓手机、ios手机及可以传输数据的数据线。

(1)连接安卓手机:

请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行USB调试

确保已经打开了手机中的"开发者选项",并且打开"开发者选项"内的"允许USB调试"

部分手机需要打开"允许模拟位置"、“允许通过USB安装应用”

关闭电脑上已经安装的手机助手软件,能避免绝大多数问题,请务必在任务管理器中手工结束手机助手进程

参考文档;https://airtest.doc.io.netease.com/IDEdocs/device_connection/1_android_phone_connection/

https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/

2、连接成功后点击刷新ADB会出现手机UUID如图

在这里插入图片描述

点击connect,IDE会同步手机屏幕,如图
在这里插入图片描述

如果连接上有黑屏或有其他情况可以勾选备选参数:

在这里插入图片描述

(2)连接ios手机:

版本需求:
需要安装xcode:

我下载的是11.3,更高版本不支持,下载结束利用iOS-Tagent 连接机器。

参考文档:https://airtest.doc.io.netease.com/tutorial/6_IOS_automated_testing/

ios不好适配,xcode、ios、airtest各版本间兼容有问题,要寻找一台合适的机器连接。

四、Airtest框架及API介绍

1、airtest基于图像识别原理,支持Android和ios。可以截图识别,支持点击、滑动、输入、等待等。

2、poco基于UI控件搜索的自动化框架,同样支持Android和ios。通过对控件的元素的定位进行各种操作。

3、内置精简的python库,可以使用python语句进行编写自动化脚本。

4、框架API的简单介绍:
airtest框架:

点击:touch

等待:wait

滑动:swipe

输入文本:text

模拟手机按键:keyevent

等待:sleep

断言:

1、图片存在: assert_exists

2、图片不存在:assert_not_exists

3、断言相等:assert_equal

4、断言不相等:assert_not_equal

官方文档:https://airtest.readthedocs.io/zh_CN/latest/

poco框架:

点击:poco(xx).click

长按:poco(xx).long_click

获取属性:如name属性

             poco(xx).get_name 

             poco(xx).attr("name")

拖动:drag_to

输入:poco(xx).set_text(xx)

官方文档:https://poco.readthedocs.io/zh_CN/latest/

五、脚本编写

1、初始化airtest和poco

示例;

#-*- encoding=utf8 -*-

author = “xxxx”

from airtest.core.api import *
ST.OPDELAY=2
auto_setup(file)
sys.path.append(r"/Users/bjhl/Documents\kousuan\login.air")
using(“login.air”)
from login import *
#初始化poco
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

poco = AndroidUiautomationPoco()

2、可以在IDE代码编写区域编写脚本,支持单行代码运行选中后右击选择只运行选中代码,就可以了。运行日志可以在log窗口查看。

在这里插入图片描述

3、测试报告
在这里插入图片描述

脚本运行结束后自动生成报告,点击后跳转到测试报告网页可以查看。
在这里插入图片描述

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

总结

AirTest简单易学,还支持自动录制脚本维护成本比较低。网易同时也会不定时更新版本是比价不错的ui自动化框架,遗憾的是虽然支持小程序ui自动化但是在兼容和稳定性上比较,差希望后期版本更新会越开越好。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值