字节跳动终端技术

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

最新推荐文章于 2025-07-19 19:53:39 发布
最新推荐文章于 2025-07-19 19:53:39 发布

阅读量1.2w

收藏 12

1赞

本文主要介绍了字节 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 很多命令只支持模拟器,对真机不够友好,无法满足我
写评论
12
文章收藏成功
前往CSDN APP阅读全文
CSDN APP记录你的成长
微信小程序收藏浏览更方便
截图/长按 保存本地,用微信扫码打开
进入小程序随时浏览/收藏技术文章
需要前往CSDN APP登录即可继续互动
成就一亿技术人!
拼手气红包6.0元
发红包
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
前往CSDN APP阅读全文
阅读体验更佳

CSDN

成就一亿技术人

浏览器
分享
请升级应用版本