网站首页 > 技术文章 正文
一、应用而生的前端测试框架
随着前端页面开发演化成了前端应用程序开发后,前端实际具备了后端的一切能力(Node.js作为前端Server,也可以提供接口接收客户端的请求并处理,能够保存、处理后端传递过来的数据),但Selenium/WebDriver本身却只能单纯的用在UI测试层面(除非加入第三方库),其越来越不能满足整个测试行业对前端自动化框架的需求。
越来越多的前端测试框架涌现,如Karma、Nightwatch、Protractor、TestCafe、Cypress和Puppeteer,这些测试工具出中有的还依托于selenium/webdriver的功能或填补了其空白,其中佼佼者如Cypress,它的底层完全不依托Selenium/webdriver,运行速度也比其快。
Cypress和被测应用程序运行在同一个浏览器界面,使得Cypress可以测试金字塔的任意层,且Cypress是不需要任何第三方扩展就具备一个优秀的测试框架的全部特征事实。
二、前端自动化测试框架组成
1.什么是测试框架?
是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
2.一个优秀的前端自动化框架组成部分?
底层核心驱动库:一般指用于操作被测应用程序的第三方库
可重用的组件:一般用于降低开发成本,如时间处理模块、登录模块等。
对象库:存储被测对象的仓库。实际应用中常常将页面进行分组,把一个页面上的所有对象放到一个类里,也就是PO模式(Page Object)
配置文件:测试环境的配置、应用程序的配置。
工具:能完成特定功能的独立程序或代码片段
方便易用的测试数据:数据在测试中的重要性不言而喻,数据创建分为实时创建和事先创建。
3.如何创建数据?
人工构造数据
通过调用前端GUI或后端API构造数据
直接向DB里面插入所需数据
4.测试用例的组织和运行
测试用例在测试框架中体现是测试脚本,测试脚本应该做到业务操作粒度合适,断言明确充分,前后脚本解耦
5.测试框架需要能支持什么?
测试用例顺序或者并发执行
测试用例分组运行
动态挑选测试用例执行
根据测试数据自动生成测试用例
6.什么错误恢复机制?
由于环境、程序、代码存在各种不确定因素,测试框架需要具备一定的错误恢复机制。
测试用例执行中引起的错误类型一般分为:代码/运行导致的错误、环境/依赖导致的错误
错误处理措施:停止运行和错误恢复。错误恢复通常标记当前用例识别,清理失败数据,恢复测试环境,然后运行下一条测试。错误恢复时机可以为事先恢复(当前用例运行前将环境和数据恢复到初始状态)和事后恢复(当前用例运行完成后将环境和数据恢复到初始状态)
7.全面的测试报告
测试用例条数统计、测试用例成功/失败百分比,测试用例总执行时间等总体信息。
单条测试用例包括测试用例ID、测试用例运行结果、测试用例运行时间、测试用例所属模块、测试失败时刻系统截图、测试的日志等信息;
测试报告应该包括不同格式如HTML、XML(用于跟CI集成)等;
包含完善的日志文件,方便出错时排查和定位。
三、前端自动化测试框架设计原则
1.代码和数据分离
2.剥离可共用的库
3.可移植性,可维护性
4.高扩展性,高稳定性
5.版本控制
猜你喜欢
- 2025-05-26 “WinCC 3D组态素材:引领工业自动化领域的可视化新纪元”
- 2025-05-26 前端自动化之利剑--Grunt
- 2025-05-26 gulp前端自动化构建入门指南(一)
- 2025-05-26 前端自动化:全网最火的5大开源图片相似性对比库!
- 2024-09-25 前端开发工具grunt入门指南-自动化构建一个基于node的命令行工具
- 2024-09-25 一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
- 2024-09-25 「前端自动化」如何使用Node.js实现热重载页面
- 2024-09-25 Web开发中的自动化解决方案,前端利器——JSCompress
- 2024-09-25 python + selenuim web前端自动化框架源代码提供及解答
- 2024-09-25 Gulp:高效前端自动化构建工具 前端grid
你 发表评论:
欢迎- 493℃几个Oracle空值处理函数 oracle处理null值的函数
- 488℃Oracle分析函数之Lag和Lead()使用
- 486℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 473℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 467℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 462℃【数据统计分析】详解Oracle分组函数之CUBE
- 445℃Oracle有哪些常见的函数? oracle中常用的函数
- 439℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)