iOS自动化测试驱动工具探索

本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理。
摘要由CSDN通过智能技术生成

本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理

作者:字节跳动终端技术——陈友辉

一、背景

随着业务的扩张,单个 App 的功能越来越多,工程复杂度越来越高,每天MR可达上百次,代码变更可达上千处,航母级的 App 在这一点上更为严重。如何在频繁的代码变更中保障App质量,成了各个业务的痛点。靠传统的人工测试已无法满足各业务的需求,我们需要将更多的测试场景自动化。

自动化测试需要将人工交互行为变成自动化的原子操作。比如应用安装卸载、屏幕点拖拽及缩放、实体按键点击、设备信息获取、应用启停等等。这就需要一款工具来驱动 iOS 设备完成以上操作。这篇文章主要介绍字节 iOS 自动化测试驱动工具 bdc 的探索过程及实现原理。

二、功能介绍

在介绍 bdc 的探索过程及实现原理之前,先介绍一下 bdc 的能力:

三、探索历程

早期方案

在字节开始大规模建设自动化建设时,Android 已经有较为完善的解决方案,包括其生态自带的驱动工具 adb 及开源的云真机管理平台 STF。但 iOS 在这方面相对滞后,主要是 iOS 缺少一款类似 adb 功能齐全且稳定的驱动工具。

早期 iOS 采用了 Facebook 开源的方案,Facebook 在驱动工具方面先后开源了 wda 与 idb,wda 支持 UI 交互操作,idb 支持应用管理,这在一定程度上满足了我们的需求,基于这套方案,搭建了第一个版本的自动化测试机架。

早期的机架也很简单,机器的规模也不大 经过一段时间的实践,我们遇到了以下几个问题

  • wda 部分接口执行耗时较长,效率低下,无法满足高频率调度的需求
  • idb 很多命令只支持模拟器,对真机不够友好,无法满足我们的功能扩展
  • 命令执行失败率高&#x
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值