惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
雷峰网
雷峰网
T
Tailwind CSS Blog
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - 司徒正美
I
InfoQ
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
小众软件
小众软件
U
Unit 42
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net

博客园 - opama

AI智能用例整理 AI 执行测试用例 AI 编写接口自动化用例 基于知识库的需求评审到用例生成的智能辅助 AI 在工作中的一些使用 不要忘记好的测试也是个业务专家 打造个人面试助手 看数类需求测试方法 AI辅助测试用例生成 利用GPT快速生成自动化代码 本地部署AI知识库 基于自己知识库的机器人试用 A卡在ubuntu下部署stable-diffusion-webui 线上问题SLA治理 AI绘图新手入坑 airtest初步使用 测试设计左移实践 接口越权扫描平台初探 通过阅读代码来优化测试执行 左移白盒测试实践 通过机器人通知提效的那些事情 《敏捷革命》读书感想 《SAAS创业指南》拆书笔记——产品打磨和商业模式初步验证
airtest使用案例一则
opama · 2023-05-20 · via 博客园 - opama

文档

https://airtest.doc.io.netease.com/

基本能力

适用范围:

支持的手机: android、iphone (含模拟器)
服务端部署:linux、windows、mac

功能

Airtest框架:是一个跨平台的、 基于图像识别 的UI自动化测试框架 《—— 一般用这个

  • 优点:跨平台
  • 缺点:不精确,能力受限
    —— 之前的使用场景:做导购小程序工作台、企助工作台的巡检,因为图标基本一样,所以脚本复用性好

Poco框架:基于UI控件识别 的自动化测试框架

  • 优点:可以识别元素以及获取内容,准确
  • 缺点:应用需要接入SDK

需求

有一批品牌名和公司名, 需要在微信里搜索这个品牌/公司, 找到这个品牌的小程序,查看这个品牌小程序的服务商是谁,记录下来

基本使用

编写或者使用IDE抓取页面:

推荐使用IDE,可以通过截屏的方式编写

基本API见:如何使用Airtest API文档 - Airtest Project Doc

基本步骤

获取名称列表

获取名称列表,通过gpt帮忙转成python list的格式

开始编写

使用Airtest框架,每个页面找到对应执行的图标,识别和点击,如 搜索按钮

通过识别按钮点击然后完成录制流程

这样就完了么?

  1. 点击小程序或者页面需要加载,页面切换也需要时间
    需要一些wait和sleep

  2. 稳定性:手机性能太差容易卡死

  • 使用android模拟器,需要多试几款看下兼容性:mumu、雷电、蓝叠、AVD等,大部分模拟器不支持mac M1/M2;在公司笔记本上性能一般,因为模拟器会有性能损耗,同时开airtest和模拟器,CPU经常100%,总体比手机快的不多;更推荐台式机上运行
  • iOS可能会流畅一点,但iOS需要手机安装WDA,需要开发者账号,https://www.bilibili.com/read/cv11430863/
  • 使用较好的真机
  • 调小屏幕分辨率,屏幕越大、分辨率越高,按钮识别的越慢
  1. 失败的处理&重复运行的能力
    批量处理过程中,需要具备:
  • 某些case失败需要恢复,否则会一直失败,常见的失败场景:点击未生效、跳到了一个新页面或者新交互(如进入小程序页面报错或者要求授权)、页面卡死黑屏或白屏、页面加载时间过长
  • case运行成功需要恢复初始状态

基本逻辑:判断当前页面是哪个环节,选择前进还是后退;如果不是认知范围的页面,使用后退退回