自动化测试-AirTest-移动端测试-笔记

这篇具有很好参考价值的文章主要介绍了自动化测试-AirTest-移动端测试-笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AirTest

简介

Airtest由网易团队出品,是一个基于图像识别原理的跨平台UI自动化测试框架,适用于游戏和应用程序。

特点

跨平台:Airtest几乎可以在所有平台上执行游戏App的自动化

易操作:使用图像识别技术来定位UI元素,无需嵌入任何代码即可对游戏和应用进行自动化

可扩展性:通过使用Airtest提供的命令行与python API接口,可以很轻松地在大规模设备集群上运行脚本

GUI工具:AirtestIDE是一个强大的GUI工具,可以帮助你录制和调试测试脚本

AirTest能做什么

Game: 借助图像识别和UI层次结构,支持所有游戏引擎和应用,多平台,使用方便

Android: Android源生应用测试的测试过程中,Airtest可以发挥至关重要的作用,即插即用

Winodws: 支持Windows应用,一次编写,跨平台运行

iOS: Airtest 支持对iOS进行方便快捷的测试,可以通过Poco来快捷获取iOS设备页面中的原生元素的位置和信息。

Web:基于Chrome Devtools Protocol协议,自动录制生成selenium脚本,精确定位与操作界面元素

AirTest搭建方式

python(了解)

命令: pip install -U airtest

说明:安装python的AirTest库,通过python代码直接调用AirTest库的Api方法

提示:此种方式,需要一定python代码基础

Gui工具

工具: AirTestIDE

说明:AirTestIDE工具自带python环境,无需单独安装。

提示:使用工具可以录制操作,也可以手动编写调用api

官网下载地址:http://airtest.netease.com/changelog.html

自动化测试-AirTest-移动端测试-笔记

安装

将下载好的压缩包解压

自动化测试-AirTest-移动端测试-笔记

然后启动

自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记
总结

1.AirTest是由网易公司研发一款自动化测试工具

2.主要实现:游戏、android应用、web项目、windows应用、ios应用等自动化测试

3.AirTest有Poco、图像识别、selenium三个大类库

4.AirTest安装支持pyhon命令行、离线安装文件进行安装

AirTest连接安卓设备

注意

•设备必须处于开发人员模式并且 USB调试模式已打开

• 如果使用的操作系统是Windows操作系统,则可能还需要在系统上安装相应的设备驱动程序

连接安卓手机

自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记

连接安卓模拟器

•启动 安卓模拟器

• 点击 刷新adb或点击远程设备连接

• 勾选 兼容模式

自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记

成功连上安卓模拟器(如果无界面,可以点击重启ADB)

自动化测试-AirTest-移动端测试-笔记
总结

1.AirTest连接设备需要开启开发者模式usb调试模式

2.远程连接可以修改不同设备端口号

3.勾选Use Javacap及Use ADB orientation可解决连接黑屏问题

AirTest图像识别框架

自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记

Touch方法

• 作用:触摸动作

• 常用参数:

• v: 触摸对象图像或坐标

• times: 触摸次数,默认1

• duration: 触摸时间 默认0.01秒

测试1
  • 使用Touch方法启动桌面应用-浏览器

  • 运行脚本测试是否成功

实现步骤
  • 新建脚本

  • 使用Touch触摸百年奥莱应用

  • 运行脚本

  • 查看报告

难点
  • 新建脚本类型选择

  • Touch触摸区域点击理解

步骤一 新建脚本类型选择
  • .air AirTest项目:生成一个项目名称.air目录,目录下有一个项目名.py文件

  • .py 纯Python(高级用户): 生成一个项目名.py文件

区别

  • 相同点:都是python文件

  • 不同点:脚本文件初始化代码不同,一个采用默认值无法看到,一个可以看到默认值,进行修改

提示

  • AirTest框架自带python解释器及标准库,无需单独安装python环境

步骤二 使用Touch触摸浏览器
  1. 点击Touch

自动化测试-AirTest-移动端测试-笔记
  1. 拉选浏览器应用图标

自动化测试-AirTest-移动端测试-笔记

形成这样一个脚本

自动化测试-AirTest-移动端测试-笔记
步骤三 运行脚本

1.运行脚本

自动化测试-AirTest-移动端测试-笔记

模拟器中的浏览器被打开了

自动化测试-AirTest-移动端测试-笔记

2.运行单行代码

自动化测试-AirTest-移动端测试-笔记

模拟器的浏览器也一样打开了

自动化测试-AirTest-移动端测试-笔记
步骤四 查看报告
  • 快捷键 Ctil+L

自动化测试-AirTest-移动端测试-笔记

wait方法

  • 作用:等待某个元素出现,如果出现返回元素的中心点坐标,否则抛出TargetNotFoundError异常

  • 常用参数:

  • v: 图片

  • timeout: 等待超时,默认找20s

  • interval: 每次匹配的时间间隔

需求(基本使用)

  • 启动浏览器app应用

  • 分类出现就进行触摸点击操作

自动化测试-AirTest-移动端测试-笔记

需求(扩展使用)

  • 启动 浏览器app应用

  • 点击分类

  • 在分类菜单中,点击最新游戏,已0.1秒找一次,最多找5秒钟

自动化测试-AirTest-移动端测试-笔记
总结
  • 作用:等待页面元素出现

  • 默认:0.5秒找一次,默认最多找20s

  • 应用:推荐与其他支持坐标点操作API一起使用

swipe滑动元素

  • 作用:滑动-从屏幕的一个位置滑动到屏幕另一个位置

  • 常用参数:

★ v1: 图片 或者 坐标(x,y)

★ v2: 图片 或者 坐标(x,y), 从v1滑到v2

vector: [x,y]录制时自动生成,记录了屏幕中的滑动比例,向右为X轴正向,向下为Y轴正向

需求

打开设置,滑到最下面

自动化测试-AirTest-移动端测试-笔记

注意

  • 作用:两个坐标点或两个元素之间滑动

  • 注意:坐标点使用时,每组值需要使用小括号;

exists方法

  • 作用:判断页面元素是否存在指定元素,如果存在就返回元素中心点坐标(注:只找一次

  • 常用参数:

  • v: 图片

  • 返回:到找图片则返回图片中心点坐标,否则返回False

需求

前置条件 浏览器已启动

查找 首页 是否存在

自动化测试-AirTest-移动端测试-笔记

exists方法与wait方法区别

共同点:

● 找元素

● 元素存在,返回坐标点

区别:

● exists:只找一次元素,未找到返回False,适合判断动作,元素可存或不存在当前页面。

●wait: 未找到元素时,默认会找20s,然后抛异常,适合等待加载慢的页面,元素必须存在页面上;

text方法

  • 作用:输入文本操作

  • 常用参数:

  • text: 要输入的文本(注:输入的位置为当前页面默认焦点元素一般配合touch一起使用

  • enter: 完整输入后自动执行Enter操作,默认为True

keyevent方法

  • 作用:模拟键盘按键输入,支持键码如:3为home键

  • 常用参数:

  • keyname: 固定键名或键码 (https://www.cnblogs.com/findyou/p/5614178.html)

snapshot方法

  • 作用:截取当前屏幕图片,可以在测试报告显示。

  • 常用参数:

  • Filename: 保存截屏为指定文件

  • msg: 描述测试点,可以在HTML报告中呈现

sleep方法

  • 作用:暂停时间

  • 常用参数:

  • secs: 延迟时间(s), 默认1.0s

需求

  • 启动浏览应用

  • 点击搜索框

  • 输入 王者荣耀 点击搜索

  • 屏幕截图 img01.jpg

  • 暂停 3秒

  • 将应用置于后台(返回桌面)

自动化测试-AirTest-移动端测试-笔记
自动化测试-AirTest-移动端测试-笔记

assert_exists方法

  • 作用:断言(判断)页面存在元素

  • 常用参数:

★ v: 图片(要判断页面是否存在元素)

● msg:描述测试点

●return: 找到图片则返回图片中心点坐标,否则将 raise AssertionError

assert_not_exists方法

  • 作用:断言(判断)页面存在元素

  • 常用参数:

★ v: 图片(注:判断当前页面不存在图片元素,不存在通过,存在失败

● msg:描述测试点(测试报告中显示)

assert_equal方法

  • 作用:判断第一个值与第二个值相等

  • 常用参数:

★ first: 第一个值

● second: 第二个值

● msg:描述此断言语句对应的测试点内容

assert_not_equal方法

  • 作用:判断第一个条目与第二个条目不相等

  • 常用参数:

★ first: 第一个值

● second: 第二个值

● msg:描述此断言语句对应的测试点内容

需求

  • 启动 浏览器应用

  • 断言是否存在 搜索按钮

  • 点击分类

  • 断言不存在 搜索按钮

  • 断言 False 与 exists(搜索按钮图片)

自动化测试-AirTest-移动端测试-笔记

发现到了断言不存在的时候报错,是因为存在搜索按钮,可以改成断言存在,则可以通过

AirTest连接IOS真机

所需环境

硬件

  1. 一台苹果电脑 如:mac笔记本

  1. 一部iphone手机

软件

  1. iOS-Tagent

  1. xcode

  1. iproxy

  1. AirtestIDE 工具

软件环境

iOS-Tagent
  • 作用:在手机上创建一个WebDriver服务器,可用于远程控制iOS设备,定位UI元素

  • 下载:https://github.com/facebookarchive/WebDriverAgent

  • 运行依赖:xcode

自动化测试-AirTest-移动端测试-笔记
xcode
  • 作用:ios开发集成工具,在这理主要作用为运行WebDriverAgen文件到手机

  • 下载:AppSotre->平台搜索xcode

  • 运行依赖:开发者账号

xcode需要的操作
  1. 添加开发者账号(普通的appleID即可)

  1. 配置WebDriverAgent(Team、 Product Bundle Identifiier)

  1. 测试运行WebDriverAgentRunner到手机

xcode设置

1.添加开发者账号(普通的appleID即可)

自动化测试-AirTest-移动端测试-笔记

2.配置WebDriverAgent(Team、 Product Bundle Identifiier)

前提

使用xcode打开 第一步下载的WebDriverAgent

自动化测试-AirTest-移动端测试-笔记

3. 测试运行WebDriverAgentRunner到手机

前提:将真机使用数据线连接上mac电脑

自动化测试-AirTest-移动端测试-笔记

3. 测试运行WebDriverAgentRunner到手机失败

排查思路

  1. 在xcode中点击Test后,第一次将WebdriverRunner时,手机需要信任该项目(设置->通用->设备管理)

  1. 在手机中启用UI自动化 (设置->开发者->Enable UI Automation)

  1. 如果有其他异常,根据异常提示信息自行参考百度或访问https://github.com/appium/appium/blob/master/docs/en/drivers/ios-xcuitest-real-devices.md 查阅相关解决方案

iproxy
  • 作用:设置代理-将iPhone端口映射到电脑端口,通过访问电脑的端口访问到手机的端口了

  • 下载: brew install libimobiledevice

  • 运行: iproxy 8100 8100

验证
  • 查看:打开浏览器输入 http://127.0.0.1:8100/status 出现json格式连接信息

  • 抓屏:http://127.0.0.1:8100/inspector

自动化测试-AirTest-移动端测试-笔记
AirtestIDE 工具:
  • 作用:编写自动化代码工具

  • 下载: http://airtest.netease.com/changelog.html

自动化测试-AirTest-移动端测试-笔记

连接真机步骤

1.将真机使用数据线连接电脑

2.启动xcode并打开配置好的 iOS-Tagent项目(菜单-Product->Test 启动自动化服务程序)

3.打开终端 运行:iproxy 8100 8100 (启动 端口映射 服务程序)

4.启动AirTestIDE 工具 (连接ios设备-> connect按钮)

注意事项

1.在xcode中点击Test前,检查项目默认终端是否选择真机设备

2.点击在xcode中Test之后,要查看控制信息,如果控制台没任何信息输出,可以等待或者多Test几次,直到控制台输出启动相关信息

3.xcode配置iOS-Tagent只需第一次配置,之后使用无需在单独配置,切莫乱修改参数;

4.真机设备中,要开启自动化测试信任iOS-Tagent项目

总结

1.Api使用方法和安卓没有区别

2.ios和安卓的区别在于环境搭建

从移动端测试来看,电脑端和Web 端操作也差不多。可自行测试。文章来源地址https://www.toymoban.com/news/detail-441999.html

到了这里,关于自动化测试-AirTest-移动端测试-笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Airtest:Windows桌面应用自动化测试【AirtestIDE功能】

    Airtest辅助窗(左上):这里主要是用来生成airtest框架中的代码的。 Poco辅助窗(左下):这个主要是用来抓取元素信息的,类似于Chrome F12查看Web元素、Appium Inspector查看App元素,并且可以生成Poco框架代码。 脚本编辑窗(中上):用来编写自动化代码,和所有IDE的相关功能类似。 Log查

    2024年02月10日
    浏览(30)
  • 不用编程超简单的自动化测试工具:Airtest入门篇教程

    很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔

    2024年02月05日
    浏览(39)
  • 不用编程超简单的自动化测试工具:Airtest安装使用入门篇

    很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔

    2024年02月04日
    浏览(39)
  • 零基础学会用Airtest-Selenium对Firefox进行自动化测试

    本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。 看完本文零基础小白也能学会Firefox浏览器自动化测试!!! 对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,关于如何驱动chrome浏览器,之前我们的推文已经做

    2024年02月08日
    浏览(102)
  • 移动端自动化测试实战

    1、提升回归测试的效率 2、可以进行兼容性测试 • 冒烟测试自动化:提测之前自动断言提测质量,提供准入参考。 • 功能测试自动化:辅助 QA 与测试工程师的快速验证。 • 验收测试自动化:兼容性测试等。 • 移动端性能专项测试自动化:性能、卡顿、健壮性测试、竞品

    2024年02月13日
    浏览(32)
  • Web自动化测试简介及web自动化测试实战交教程

    1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能

    2024年02月08日
    浏览(39)
  • 自学移动端(APP)自动化测试

            国庆已经过去了,新的一周已经开始了,各地疫情又开始出现复发了,我们能做的就是做好个人防护、去哪报备、到哪扫码亮码、主动做核酸、随时做好家里存储至少一周的食物,拒绝过度防疫,拒绝过度恐慌,拒绝过度焦虑。有工作的最起码还有钱能到手,没有工

    2024年02月09日
    浏览(25)
  • 盘点:App 移动自动化测试工具

    App移动端测试工具非常多,首先 区分 Android 和 iOS,以及 harmonyos 平台,每个平台下都有自己的自动化测试工具。自动化工具又区分 调试工具、monkey 工具、UI自动化工具。 本文就来盘点以下,当下主流的app自动化测试工具。 AndroidX Test AndroidX Test 是一组 Jetpack 库,可让您针对

    2024年02月14日
    浏览(31)
  • 移动端APP自动化测试框架-UiAutomator2基础

    很早以前,我用uiautomator+java实践过Android APP自动化测试,不过今天要提的不是uiautomator,而是uiautomator2。听起来uiautomator2像是uiautomator的升级版,但是这两款框架仅仅是名字上比较相似,实际上没有任何关联。 项目地址:https://github.com/openatx/uiautomator2 1.官方文档介绍 2.梳理一

    2024年02月13日
    浏览(49)
  • 爬虫学习(16):selenium自动化测试:人为模拟滑块移动

    场景描述:本次项目是给一个学校的填体温系统,做了一个自动填报工具,遇到了一个滑块,需要模拟移动一下。 这里只对滑块模拟部分代码进行展示,以帮助大家面临这种移动问题的解决。 思想其实很简单,就是模拟人慢慢的拖动。其实有个技术难点是缺口的识别,计算移

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包