Airtest 如何测试手机 APP?

news2024/11/18 21:46:34

引言

Airtest 是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机 APP 和游戏的测试。一旦使用了这个工具进行 APP 的自动化,你就会发现自动化测试原来是如此简单!!

如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

连接手机

要进行 APP 的自动化测试,首先要将手机连上 airtest。连接手机有几种方法都可以实现:

第一种:USB 线连接,当然要注意一下几个步骤:

  1. 请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行 USB 调试;
  2. 确保已经打开手机的“开发者选项”(如何打开,每个手机不一样,可以根据自己的手机型号百度),并且打开“开发者选项”内的“允许 USB 调试”开关。

注意:部分手机还需要打开“允许模拟位置”、“允许未知来源安装应用”,所以如果不成功可以把这两个选项也勾选!

  1. 关闭电脑上的手机助手软件和进程,使用 USB 线连接手机,手机上出现的“允许 USB 调试”的弹窗,点击确认;
  2. 点击 airtest 链接面板中的“refresh ADB”按钮,设备列表将会刷新,并显示出该手机;
  3. 点击列表内对应设备的“connect”按钮,即可完成连接。

 

 

第二种:IP+ 端口的连接。具体步骤如下:

  1. 已知 IP 和端口的远程设备 ip:port,AirtestIDE 可以直接连接,
  2. 点开设备窗内的 远程设备连接 按钮
  3. 将 adb connect ip:port 字段填入填充框内,点击 连接 按钮,
  4. 远程设备将出现在设备列表中,点击 connect 按钮。

第三种:无线连接。

当手机与电脑处在同一个 wifi 下,即可尝试无线连接手机了,其实也就是通过 adb 无线连接手机。但是这种方式受限于网络连接的稳定性,可能会出现连接不够稳定的情况。具体连接操作步骤如下:

  1. 确保手机开启了 USB 调试选项,并先用 USB 线将手机和电脑连接起来
  2. 在电脑端执行命令 adb tcpip 5555 ,其中 5555 是端口号,可以根据自己的需求来指定,5555 是默认值
  3. 获取手机的 IP 地址,可以在 手机设置-关于手机-状态信息-IP 地址 里找到,也可以执行 adb ifconfig 来查看
  4. 随后可以拔掉 USB 线,在 AirtestIDE 的 远程设备连接 处输入 adb connect 手机ip:刚才填入的端口号5555 ,点击连接,刷新 ADB 后就能在设备列表中看到连上的设备了
  5. 如果因为网络波动、重启 ADB 等原因导致连接断开,重新执行一次 adb connect ip:port 即可。

常用 API

1、touch :点击操作 包含的参数:

 

v:点击的图片或者坐标
times:点击次数,默认 1 次
duration:按住时间,默认 0.01s
right_click: windows 有效 ,手机端无效

2、text :输入文本

包含的参数:
text:输入的文本
enter:完成输入后自动执行 enter 操作,默认为 True
search:完成输入后强行执行 search 操作,默认为 false

3、wait:等待元素出现,如果找到该这个 图片就返回图片中心点的坐标,如果不出现就抛出错误:TargetNotFoundError

 

包含的参数:
v:点击的图片或者坐标
timeout:等到超时时间,默认 20s
interval:每次寻找的时间间隔,默认 0.5s
intervalfunc:图片没有找到就执行后面的函数,默认为 None

4、sleep :暂停等待

包含的参数:
secs:延迟时间,默认 1.0s

5、assert_exist : 判断图片是否存在,如果存在就返回图片的中心坐标,不存在就 raise AssertionError

 

包含的参数:
v:图片
msg:描述测试点,它将被记录在报告中
return: 存在就返回图片的中心坐标,不存在就 raise AssertionError

6、assert_not_exist :判断图片是否不存在,如果存在就 raise AssertionError

 

包含的参数:
v:图片
msg:描述测试点,测试 报告中显示

7、assert_equal : 判断第一个值和第二个值是否相等

包含的参数:
first:第一个对比条目
second:第二个对比条目
msg:描述测试点,在测试报告中显示

8、assert_not_equal : 判断第一个值和第二个值是否不相等

 

包含的参数:
first:第一个对比条目
second:第二个对比条目
msg:描述测试点,在测试报告中显示

实战练习

我们现在用以上这写 API 来实现一个具体的需求用例:

需求: 登录柠檬班 app,并判断是否登录成功;

步骤如下:

  1. 新建一个 air 脚本,默认导入的文件如下:

 

  1. 连接上手机设备,就可以再 airtest 界面看到手机的镜像界面:

  1. 点击 touch ,截图APP 图标,启动这个 APP,生成的脚本如下:

 

  1. 点击“我的柠檬”,点击“点击头像进行登录”,来到登录页面:

  1. 在用户名输入框中输入手机号码,在密码输入框中输入密码,点击登录按钮。

注意:为了确保万无一失,最好在输入文本之前,先点击输入框,确认输入的焦点。

所以先调用 touch API,再调用 text API。点击 text API 就会弹出如下图所示的文本输入框,输入你的手机号码即可。同样的步骤,输入密码;最后,点击“登录”按钮。

 

  1. 判断是否登录成功。

用 assert_exists API 来断言是否登录的用户名和头像是正确的,脚本如下:

 

  1. 运行后,查看测试报告检查测试结果

可以打开测试报告,查看运行结果和断言的图片如下图所示:

 

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础 

  全套资料获取方式:点击下方小卡片自行领取即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1155440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git 入门指南:从新手到高手的完全指南

Git是一种强大的分布式版本控制系统,广泛应用于软件开发中。它的使用不仅可以帮助开发团队更好地管理代码,还可以提高团队协作效率和代码质量。随着软件开发的不断发展,版本控制成为了程序员必备的一项技能。 Git的基本概念 Git的基本概念对…

阿里云服务器双11特惠99元一年云服务器ECS经济型e实例

2023阿里云服务器双11优惠价格99元一年经济型e实例,并且续费不涨价,云服务器ECS-经济型e实例2核2G配置、3M带宽、40G ESSD entry系统盘优惠价99元一年,原价956.64元/年,可用于中小型网站建设、开发测试、小程序或app搭建&#xff…

十九、类型信息(4)

本章概要 注册工厂类的等价比较反射:运行时类信息 类方法提取器 注册工厂 从 Pet 层次结构生成对象的问题是,每当向层次结构中添加一种新类型的 Pet 时,必须记住将其添加到 LiteralPetCreator.java 的条目中。在一个定期添加更多类的系统…

锁表后引发的几种删除方式与不同的扩展

在开发过程可能会遇到一些特殊场景,诸如我想删除某表,但是无法删除,去找原因发现是发生了锁表, 锁表指的是在执行一个事务时,该事务获取了一个锁并保持其锁定状态,直到事务完成或手动释放锁,导…

【零参考GAN:Pansharpening】

ZeRGAN: Zero-Reference GAN for Fusion of Multispectral and Panchromatic Images (用于多光谱和全色图像融合的零参考GAN) 本文提出了一种融合低空间分辨率多光谱(LR MS)和高空间分辨率全色(PAN)图像的新的全色锐化方法–零参考生成对抗网络(ZeRGAN…

深度学习之基于ResNet18的神经网络水果分类系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介二、功能三、神经网络水果分类系统四. 总结 一项目简介 基于ResNet18神经网络的水果分类系统是一个利用深度学习技术进行水果图像分类的系统。下面是该系统…

WOS与CNKI数据库的citespace分析教程及常见问题解决

本教程为面向新手的基于citespace的数据可视化教程,旨在帮助大家更快了解行业前沿的研究内容。 获取最新版本的citespace软件 在citespace官网下载最新的版本(如果是老版本,可能会提示让你去官网更新为最新版,老版本不再提供服务…

【Linux】开发工具——vim多模式编辑器的入土设置sudoers白名单

个人主页点击直达:小白不是程序媛 Linux系列专栏:Linux被操作记 目录 前言: 基本概念 vim基本操作 [正常模式]切换至[插入模式] [插入模式]切换至[正常模式] [正常模式]切换至[末行模式] 三种模式的切换关系图 vim命令模式命令集 进…

Redis入门01-简单了解

目录 Redis的发展历史 特性简介 数据类型 内存存储与持久化 功能丰富 简单稳定 应用场景 为啥用Redis Redis的发展历史 Redis(Remote Dictionary Server)是一个高性能的键值存储系统,通常用作缓存、消息队列和分布式数据存储的解决方…

【React】03.脚手架的进阶应用

文章目录 暴露webpack配置暴露前后的区别config文件夹:scripts文件夹:package.json 常见的配置修改1.把sass改为less2.配置别名3.修改域名和端口号4.修改浏览器兼容5.处理Proxy跨域 2023年最新珠峰React全家桶【react基础-进阶-项目-源码-淘系-面试题】 …

uniapp如何使用mumu模拟器

模拟器安装 下载地址:MuMu模拟器 模拟器相关设置 1.在设置-显示中选中手机版,设置手机分辨率 2.设置-关于手机-版本号快速点击,将其设置为开发者模式 3.选择多开器 4.打开hbuilderx,找到adb设置 5.配置adb路径及端口号&#x…

网络爬虫适合什么代理IP?如何使用?

在互联网时代之下,大数据对各行各业的发展有着重要的推动作用,而说到数据采集,必不可少的就是去使用爬虫工作。 一、什么是网络爬虫? 它是一种按照一定的规则自动游览、检索网页信息的程序或者脚本,通过自动请求目标…

《鸿门宴》文

鸿门宴 【作者】司马迁 【朝代】汉 沛公军霸上,未得与项羽相见。沛公左司马曹无伤使人言于项羽曰:“沛公欲王关中,使子婴为相,珍宝尽有之。”项羽大怒曰:“旦日飨士卒,为击破沛公军!”当是时&a…

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现,AES算法2.6 启动类,校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…

【C++的OpenCV】第十五课-OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介

🎉🎉🎉 欢迎各位来到小白 p i a o 的学习空间! \color{red}{欢迎各位来到小白piao的学习空间!} 欢迎各位来到小白piao的学习空间!🎉🎉🎉 💖 C\Python所有的入…

【错误解决方案】ModuleNotFoundError: No module named ‘xgboost‘

1. 错误提示 在尝试导入名为xgboost的模块时出现了ModuleNotFoundError。 错误提示:ModuleNotFoundError: No module named xgboost 这个错误通常意味着Python环境中没有安装你试图导入的模块。 2. 解决方案 安装xgboost模块即可解决上述问题。 可以通过Python…

企业多部门VLAN间互访部署实战

1. 二层VLAN技术部署回顾; 2. 三层交换机上如何部署VLAN? 3. 部署VLAN的过程中有哪些注意事项? -- VLAN技术 - 虚拟局域网 -- 局域网 - 通过交换机连接的网络 -- VLAN - 把一个大的局域网 做一个分割 -- 常见局域网的问题&a…

Docker容器引擎

目录 一、Docker概述 二、Docker与虚拟机的区别 三、namespace 四、Docker核心概念 五、Docker部署 一、Docker概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻…

10.2 一文读懂SPI与DSPI、QSPI、OSPI关系与异同

本文主要内容: 1 SPI与DSPI、QSPI、OSPI定义 2 SPI与xSPI对比 3 常用的nor flash 4 驱动架构 5 xSPI镜像烧录 1 SPI与DSPI、QSPI、OSPI定义 1)标准SPI 通过说的SPI,称为标准SPI,是一种串行外设接口,通过有4根线控制,CLK、CS、MISO、MOSI,可工作于4种模式,一般是主机…

透视2023,如何看清中国SaaS的未来之路?

导读:什么是更适合中国市场的SaaS道路? 如果用一个关键词概括2023年的SaaS产业,很多人会想到:难。 在过去一年时间内,SaaS产业投融资环境巨变,一级市场投融资笔数和金额骤减。根据IT桔子数据,20…