写点什么

LinkedIn Bluepill:开源的大规模 iOS UI 测试工具

  • 2017-01-25
  • 本文字数:790 字

    阅读完需:约 3 分钟

LinkedIn 软件工程师 Keqiu Hu 在官方博客上介绍了该公司的Bluepill。Bluepill 使得开发人员可以在单一机器上用多种模拟器运行iOS UI 测试,目标在于提供稳定的测试工具和可扩展的测试。

LinkedIn 提出的“ 3x3 理念”设定目标为每日三次发布,实现“在代码提交与对成员可用之间不超过三个小时”。作为该理念的重要组成,Bluepill 给出了两个高度可取的特性

  • 测试平台的稳定性,主要针对 Xcode iOS 模拟器的“古怪问题”,这些问题会使测试由于模拟器自身问题而非代码问题导致失败。据 LinkedIn 统计,他们所运行的测试中有 2% 就属于这种情况。
  • 测试的可扩展性。测试的并行运行可同时覆盖多种模拟环境,可扩展性从根本上提供了这种能力。

Bluepill 借助于 CoreSimulator 解决稳定性和可扩展性问题。CoreSimulator 是 Apple 的一种未公开架构,它具有创建不同类型的设备模拟器、选择运行时版本、处理模拟器提供的通知等功能。Hu 提到,使用 CoreSimulator 实现了将 Bluepill 从 Xcode 模拟器中隔离出来,并使 Bluepill 可并行使用多种模拟器运行测试。这里 Xcode 模拟器是一种随每次 Xcode 的更新而不断进化的黑盒。

在最简单的用例中,可使用如下命令运行 Bluepill:

./bluepill -a ./Sample.app -s ./SampleAppTestScheme.xcscheme -o ./output/这个命令将会启动四个模拟器,此外还有一些可以用来定制测试环境的选项,包括使用模拟器的数量、运行时环境、失败测试时允许重试的次数、测试被卡住时的等待时间等。

Bluepill 采用 BSD-2 许可在 GitHub 上开源提供。对于不打算自己从源代码构建的开发人员,Bluepill 也提供了二进制版本

查看英文原文: Bluepill is LinkedIn’s Open-source Tool for iOS UI Testing at Scale


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-01-25 18:003509
用户头像

发布了 227 篇内容, 共 76.7 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

《CPython Internals》阅读笔记:p151-p151

codists

CPython Internals

音乐 NFT 系统的智能合约开发

北京木奇移动技术有限公司

智能合约 软件外包公司 音乐NFT

音乐NFT系统开发的技术难点

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

如何在 Windows 上安装 Python 环境的详细指南

克莱因瓶

Kyutai开源端侧模型Helium -1 preview;FoloToy内测「超级智能体」,支持联网查询和语音调整音量语速

声网

工作流程图怎么制作?10个流程图模板案例盘点!

职场工具箱

流程图 画图软件 绘图 在线白板 流程图绘制工具

Easysearch Rollup 使用指南

极限实验室

Rollup Performance easysearch

我在腾讯用AI写代码

腾讯云 AI 代码助手

智能网联汽车的数据脱敏

芯盾时代

车联网 物联网 数据安全 智能汽车

普通人如何赶上AI大模型浪潮

老张

人工智能 AI 自由职业 第二曲线 大模型

MIAOYUN荣获“新质榜样·2024信创力量最佳技术解决方案奖”

MIAOYUN

云计算 云原生 解决方案 信创 超融合

【GreatSQL优化器-11】finalize_table_conditions

GreatSQL

深入了解淘宝天猫API接口:商品详情与关键词搜索商品列表的实用指南

代码忍者

淘宝API接口

从代理聊到Lambda表达式

陈一之

Java 设计模式 杂谈

地平线Vision Mamba:超越ViT,最具潜力的下一代通用视觉主干网络

地平线开发者

自动驾驶 算法 地平线征程6

图片秒变短视频!阿里妈妈“淘宝星辰·图生视频”向商家开放使用

新消费日报

从0到1:基于SSM的陪诊小程序开发笔记(一)

CC同学

基于Springboot: 宠物小程序开发笔记(上)

CC同学

SimCorp最新买方调查显示,人工智能必须更好地融入投资流程

财见

深度解析:低代码技术如何为新型工业化提供关键赋能支撑

快乐非自愿限量之名

火山引擎上线鸿蒙原生智能美化解决方案 轻松提升图形视频美化体验

HarmonyOS开发者

火山引擎

用DevEco Studio模拟器这些能力 没真机也能高效调测鸿蒙原生应用

HarmonyOS开发者

PIRF 421:Measurements – Embracing the Imperial System

Echo!!!

English

专业解读:JNPF低代码开发平台怎样为企业财务管理创新转型提供数字化赋能

不在线第一只蜗牛

低代码

音视频编解码的性能优化

北京木奇移动技术有限公司

软件外包公司 音视频编码 音视频解码

面向法律场景的大模型RAG检索增强解决方案

阿里云大数据AI技术

人工智能 阿里云 LLM rag PAI

AI智能体在自动化测试中的应用

测试人

音视频编解码开发的技术难点

北京木奇移动技术有限公司

音视频开发 音视频引擎 软件外包公司

加入我们|申请成为亚马逊云科技 Community Builder,共建云端社区!

亚马逊云科技 (Amazon Web Services)

2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其中包含 n 个代表奖励值的数字。 你开始时的总奖励 x 为 0,并且所有下标都是未标记状

福大大架构师每日一题

福大大架构师每日一题

如何让敏捷落地?谈谈敏捷工具在团队中的应用实践

爱吃鱼的小雨

敏捷开发 敏捷项目管理 敏捷工具 scrum工具 敏捷研发工具

LinkedIn Bluepill:开源的大规模iOS UI测试工具_移动_Sergio De Simone_InfoQ精选文章