0


UI自动化测试

一、UI自动化是什么?

UI自动化,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段。分为Web端和App端,Web端以Selenium驱动web UI的自动化测试为主流;App端的appium,还有诸如uiautomator、espresso、robotium等等。

下图这个模型描述了从单元测试、集成测试,到UI测试的渐进式测试过程。越是底层,用例的执行速度越快,维护成本越低。到了最上层的UI时,执行速度处于比单元测试、接口测试慢,比手工测试快的这种阶段。维护成本上比单元测试,接口测试要高。

二、为什么要做UI自动化呢?

  1. 实施起来较容易:很多做测试工作的都有过这种经历,刚开始接触测试开发时,都是先接触UI自动化。因为UI的框架比较成熟,容易上手,相关学习文档比较全面。实施起来一般都不依赖于源码,是比较容易落地的一种自动化测试手段。
  2. 覆盖范围广:这点非常重要,UI上的一次操作的函数触发数量可能会非常多,点击一个按钮,可能触发了内部的几十个或者更多的函数调用。从函数调用数量来看,和单元测试的一个单测用例检查一个函数的逻辑是不同的。UI操作检查的是各个模块集成后模块之间的联动逻辑,是集成测试的有效手段,而单元测试是模块内部逻辑的检查。

三、UI自动化的实现

最常用的框架是下图中的Selenium

使用Selenium之前我们要先具备一些知识储备:

  • 掌握手工功能测试,理解测试的功能业务
  • 熟悉HTML、CSS、JS这三大知识

Selenium主要是进行Web自动化测试,同时在手机APP自动化测试中,有一些测试框架也是基于Selenium来实现的。

优点:

  • 跨平台、跨语言
  • 支持多种浏览器
  • 支持移动端测试
  • 插件多,扩展性强

缺点:

  • 不能直接生成测试报告
  • 不能识别动态图片

四、UI自动化的实现成本

UI自动化测试的成本比接口测试要高,主要原因不是技术实现难度高,而是因为UI是对接用户的终端界面,它是调整最频繁,改动最剧烈的部分,所以维护成本高。

那么我们就不需要进行UI自动化测试了吗?恰恰相反,对于一些大型项目来说,其功能是不断地在迭代的,虽然界面在调整,但是由于项目周期长,在开发和测试过程中,需要频繁使用自动化测试的脚本进行回归测试,可以提高自动化测试的利用率,提高工作效率,降低工作成本。

而且,UI自动化测试中,有一种很关键的思想,叫做“关键字驱动”测试,专门用来解决UI自动化测试脚本开发和维护的问题。

五、UI自动化的持续集成

UI自动化的后续发展肯定是持续集成。

我们假想一个场景,现在我们把自动化脚本都编写好了,但是我们还是需要每天上班点击“开始“运行脚本,而且当开发提交新的版本时,也需要重新运行自动化脚本。

那么可以不可以让这个自动化脚本,自动地运行,并且在开发每次发布版本之后,自动地执行呢?当然可以,这就是持续集成。推荐使用jenkins这个工具。

总结

UI自动化是一个运用非常广泛的技术,想要深入精通是需要我们不断地积累,沉淀的,这样才能解决一个又一个的难题,从而使我们的项目质量更上一个台阶。

本期内容就到这里了,如果喜欢就点个关注吧,微信公众号搜索“数 新 网 络 科 技 号”可查看更多精彩内容~

标签: ui 单元测试

本文转载自: https://blog.csdn.net/datacreating/article/details/129487976
版权归原作者 数新网络 所有, 如有侵权,请联系我们删除。

“UI自动化测试”的评论:

还没有评论