- 原文链接 : Concurrent Android UI automation with Jenkins
- 原文作者 : Ha Duy Trung
- 译文出自 : 开发技术前线 www.devtf.cn
- 译者 : chaossss
- 校对者: tiiime
- 状态 : 完成
现在的 IT 公司会为了进入不同的市场开发相应的 App,来自同一家公司的 App 总会具有相似的 UI 逻辑,但 UI 的细节、风格又各有区分。随着产品的发展,抑或是在产品应用于新市场的过程中产生了旧 UI 逻辑的变种,用于测试所有 UI 逻辑的时间会与新 UI 的数量呈正比例关系增长。即使有 UI 的自动化框架可以用来减少测试所需的时间(例如 Calabash Android),使得每天只需要2个小时就能完成对 UI 的测试,但在这套 UI 衍生出四套“变种 UI”后,却要花费8个小时才能完成测试。
这篇博文将利用 Continuous Integration (CI) 服务,同时在不同的设备中执行 UI 测试,并介绍一种从根源上减少这种实际场景下自动化测试所需时间的方法。此外,我们的测试都是在真机上运行,而不是虚拟机。
更贴近现实的自动化测试:有很多东西只能通过真机来反映,像内存消耗,CPU 消耗:虚拟机通常都是消耗电脑的资源,而真机基本不会消耗电脑资源。
而且用真机进行测试性价比较高!Android 设备都很便宜,所以你可以在需要设备进行测试的时候毫不犹豫地买买买,如果用虚拟机测试的话,由于虚拟机会消耗很多电脑资源而且拓展电脑硬件很烧钱,这无疑会限制测试设备的数量。
虽说博文里同时使用了 Calabash Android 自动化框架 和 Jenkins CI,但我提到的大部分方法可以通过运行在任意 CI 服务上的