在手工测试阶段,针对项目输出了测试用例,如果这些测试用例需要在版本迭代的过程中,需要进行回归测试,通过手工重复地执行测试用例,将会耗费大量的人力。

为此应运而生就有了自动化测试,通过使用自动化工具,将按照测试用例进行点点操作,校验的工作,交给代码程序来执行,测试工作,就变得省心省力了。

  • 重点:测试用例是自动化测试脚本的依据,一切不基于测试用例而写的自动化脚本都是耍流氓。

关于UI自动化测试

UI 自动化的本质

  • 定位元素
  • 操作元素
  • 模拟页面动作
  • 断言结果
  • 生成报告

基于以上5个本质,自动化测试的整体流程是这样的,这里百度登陆功能的测试用例为例:


  1. 对于这条测试用例,需要找到它的定位元素:用户名输入框,密码输入框,登陆按钮

  2. 操作元素:对于这3个定位元素的操作有2种,分别是“输入”与“点击”

  3. 模拟页面动作,也就是测试用例的步骤:

    1. 输入用户名
    2. 输入密码
    3. 点击登陆按钮
  4. 判断结果:将用例中的预期结果与实际结果进行比对,如果一致,代表成功,否则代表失败。对于这条测试用例,登陆成功的标志是,页面右上角出现了用户的头像与用户名,那么,可以通过获取网页中用户名的文本信息,与登录账户的用户名对比,一致的话,代表这条用例通过。

  5. 根据执行结果,自动生成报告,常用的第三方模块:HtmlTestRunnerAllure2

适合UI自动化测试的场景

当然,不是所有的测试场景都适合用自动化测试来实现。

对此,可以参考以下的标准辅助判断:

  1. 项目的需求不会频繁变动
  2. 页面的 UI 已经进入稳定阶段
  3. 项目周期足够长
  4. 大量回归的测试任务

其中,有一些项目是明显不适合使用 UI 自动化测试的,例如视频播放器(暴风影音,腾讯视频,爱奇艺等),音乐播放器(例如网易云音乐,QQ 音乐等)等交动性强,并发依赖强的软件。

原因是,这一类软件,判断视频内容对不对,判断音乐声音与歌词对不对,难度极大。

另外,延伸一个话题:关于自动化测试的覆盖率,面试会问到的一个点。

国内大多数互联网公司的项目迭代周期比较短,因此自动化覆盖率一般都不高。

具体还是要根据项目迭代周期进行描述,参考标准是:

  • 迭代周期是半年或者一年以上的项目,每次需求变动很少,自动化测试的覆盖率一般是60%-70%,主要是覆盖之前的旧功能以及核心场景
  • 迭代周期为一个月的项目, 覆盖率大概是25-30%,主要是覆盖 P0(极重要)级别的绝大多数用例,与 P1(重要)级别中的部分用例
  • 1~2周一个迭代的项目,覆盖率大概是10%,主要是覆盖 P0(极重要)级别,可能会对用户造成严重影响的核心场景

其次,UI 自动化测试的时间切入点主要有2个:

  1. 冒烟测试阶段
  2. 回归测试阶段

UI 自动化测试设计原则

  1. 一个测试用例完成一个功能点测试(常用):一个手工用例对应一个自动化测试用例
  2. 一个脚本是一个完整的场景
  3. 脚本之间独立,不能有依赖(脚本间相互隔离):例如与登陆状态相关的用例:个人中心、订单详情、下单购物等,如果脚本之间不独立,相互依赖,在登陆的测试脚本失败的情况下,会导致个人中心、订单详情、下单购物的测试脚本全军覆灭,后续修复与维护成本高
  4. 设置合适的检查点:通过断言判断用例的成功与否
  5. 设计良好的框架:Python 常用的测试框架有 unittestpytest,利用框架,及对共用的测试模块进行封装,减少自动化测试脚本维护的工作量

总结

关于Web端-UI自动化测试相关推荐

  1. Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

    本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护.为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评 ...

  2. pythonwebui自动化_python+selenium实现web端UI自动化测试

    代码示例:css #!/usr/bin/python # -*- coding: UTF-8 -*- # coding:utf8 import sys import os from selenium ...

  3. docker+robot framework+selenium并发web应用UI自动化测试实践

    自己在日常测试中,会搭建UI自动化测试框架来进行web应用的回归测试,在这过程中遇到了许多问题,如测试脚本和执行机不分离,串行测试效率低下,环境搭建麻烦等问题.在这个过程中,自己也在网上看一些前辈的搭 ...

  4. IM场景的移动端UI自动化测试平台实践

    在公司做了两三年IM平台开发,基本上把IM的所有能力都搭建齐全了:单聊.群聊.文本消息.语音消息.视频消息.卡片消息.音视频通话等,而且把整个聊天页面各个区域都开放了出去.整个IM系统的框架以及开发流 ...

  5. 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...

  6. 基于Appium的移动端UI自动化测试

    为什么需要UI自动化测试 移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能.UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作 ...

  7. 前端怎么加粗字体_to B 中后台系统 | Web 端 | UI Style Guideline amp; 前端交付文档...

    本文总结近期 to B 中后台系统 UI 组件设计规范及相关经验.欢迎大家勘别甄误. 不懂 UI 的交互不是好前端,特别鸣谢 松若章 在设计稿落地过程中的严谨与指点. 组件规范 Components ...

  8. html5做ui自动化,案例赏析:某WEB系统UI自动化测试方案

    测试范围的确定原则: 1.稳定的需求点.变动较少的页面 2.比较频繁的回归测试 3.需要在多平台上运行的相同测试案例.组合遍历型的测试.大量的重复任务 1.主要功能模块及页面加载 2.页面中图表.数据 ...

  9. WEB端Monkey测试gremlins.js

    一直想做web端UI自动化测试,网上查阅了 大量的资料,发现有一个线程的monkey测试工具,地址:https://github.com/marmelab/gremlins.js.但是我对js不是很精 ...

最新文章

  1. FPGA基础知识极简教程(5)什么是锁存器以及如何在FPGA开发中避免生成锁存器?
  2. 时代中坚:互联网电视迎来极致时代
  3. python创建子进程_Python--- subprocess 创建子进程
  4. linux 最快的,五种方式装Linux哪种最快
  5. 项目经理应该把30%的时间用在编程上
  6. Android之项目中调用已有.so库
  7. Opencv3 形态学操作
  8. 刚刚,谷歌宣布TPU全面开放,AI芯片及云市场再迎变局
  9. 【转】高性能web开发
  10. MAC下 安装sqlmap教程
  11. 计算机软件测试方法文献,软件测试毕业论文参考文献
  12. 更改 VSCode 字体
  13. 自定义Java注解处理器
  14. lerna + yarn workspaces 使用备忘
  15. D2D D3D12 渲染视频帧思路及实现
  16. 小游戏--三子棋——N子棋(实现)
  17. ValueError: Please provide model inputs as a list or tuple of 2 or 3 elements: (input, target)
  18. Nginx介绍及原理简单分析
  19. C#NPOI操作EXCEL-设置密码及设置只读
  20. JS通过 身份证号码 获取 出生年月日 和 性别

热门文章

  1. 一步步实现SDDC-部署VC后的配置
  2. Git学习总结(13)——使用git.oschina作为自己的源代码在线管理库
  3. Git学习总结(12)——多人开发 Git 分支管理详解
  4. 50道编程小题目之【企业利润提成】
  5. android 拉伸view,安卓ImageView拉伸展示
  6. 鸿合科技成为AMX品牌全系列产品中国(大陆)总代理
  7. 基础知识系列☞关键字→virtual
  8. centos7.1 kvm 虚拟机
  9. 王栋: 要做好推荐,只有技术是不够的
  10. CodeForces 257B Playing Cubes :两人轮流向已有序列后面放红蓝木块,一人想使相邻颜色相同多一人想不想同颜色多,最后得分? :博弈+思维...