很多做测试的同学对 UI 自动化充满着向往,但又充满畏惧,经常不知道如何入手。一方面是因为技术薄弱,觉得自动化测试比较难,另一方面可能对自动化测试持怀疑态度。那到底什么是 UI 自动化测试,它能给我们带来什么样的价值呢?下面我们探讨下移动端的 UI 自动化方法。

什么是 UI 自动化?

为什么要做 UI 自动化测试?

常用 UI 自动化测试工具

这几年,移动端技术发展非常迅速,测试手段也同样发展迅速,出现了大量用于对移动端 app 进行自动化测试的工具,下面简单列举下:

主流跨平台 UI 自动化测试框架的对比分析

一个好的自动化测试框架,它应该是要能够支持跨平台的,目前市面上有三个主流的跨平台测试框架,这里简单比较分析三个框架的优缺点。

测试框架 Appium Calabash MonkeyTalk
支持的平台 Android、iOS、H5 Android、iOS、H5 Android、iOS、H5
所需环境 Appium、Node、JDK、Android SDK、Selenium、Xcode Calabash、Gem、Ruby、JDK、Android SDK、Xcode MonkeyTalk、Android SDK、Xcode
支持的语言 Almost Any Ruby MonkeyTalk、Java、Javascript
支持录制回放 No Yes Yes
工作原理 通过扩展 WebDriver API 编写脚本模拟测试步骤,然后通过 Server 翻译后发送给对应的移动设备 使用 Cucumber 框架组织测试用例,通过 Http 和 Json 与测试 app 通信 通过嵌入在 app 中的 client 对用户操作进行录制回放
是否开源 Yes Yes No
优点 开源,社区活跃 行为描述语言,用例重用度高 录制回放,无需编码,环境易于搭建
缺点 大量编码,元素难以定位 环境复杂,UI 难以定位 灵活性稍差,需要在 App 中安装 Client

总结

套用网上一位测试朋友的话,“自动化测试听起来很神秘,学起来很简单,用起来很麻烦”。UI 自动化的优点很多,但要考虑适用场景,否则适得其反。同样,我们也要选好一个适合的自动化框架,这样才能提高效率。总而言之,想搞好自动化测试,还需要测试人员不断地提高测试理解力,分析能力和代码水平。


↙↙↙阅读原文可查看相关链接,并与作者交流