网站首页 > 技术文章 正文
今天跟大家分享一下我对前端项目自动化测试的实现。希望对你们有帮助,有说的不好的地方,还请多多指教!
1.允许测试脚本里调用api
我们经常在测试时要做一些准备活动,比如注册一个新用户。这一步骤可能每次花费几分钟时间,那么这时候建议直接调用注册用户的api来生成新用户。每个场景节约几分钟,加起来就多了。
2.允许测试脚本里访问数据库
虽然我们做测试可以说重点在界面上,但是业务逻辑上如果出错了最好也要能找出来。也就是说,我的检查点不止检查页面元素,更先去检查对应数据在数据库里是否正确。好处是数据库里不正确的时候,脚本就不用傻乎乎等个几十秒才报出来页面上的错误。
3.为测试准备独立干净的测试环境
测试如果针对网站,很多时候要考虑在windows系统上跑脚本。一般建议和工作用的电脑分开。如果有条件,还可以自动化搭建这样的测试环境,我们以前是通过云自动搭建符合要求的虚拟机来做。
4.考虑测试逻辑的重要性
通常采用页面对象建模,详见selenium官网。如果是商业工具则一般已经自带对象库,如QTP等都自带了。简单来说就是同样的测试逻辑封装在一起,用的时候直接调,改的时候只改一个地方。
5.在开发阶段考虑可测性
有的app就是不可测,这也动态那也动态,控件各种不标准,自定义。这种是没法做自动化的。比如用selenium去测gmail的网页版,一切都是动态的,那简直疯了也做不成功。相反比如说去看京东的网页,各种标准,再没有比它更适合用selenium测试的了。可测性每提升一丁点儿,自动化测试效率提升一大截。质的改变。
6.采用统一的设计和分层次的设计
有一个经典问题,在我去一些公司面试时被反复问到,有一个测试场景会用到网站、桌面app、手机app,如何做自动化?
具体点我举个例子,你在手机端拍了一张照片,上传到了网盘上,放下手机在桌面端打开这个照片并做了一些修改和美化,然后在网页端把他展示出去。这个场景如何自动化测试?
如果采用统一的自动化测试设计应当可以解决。不管是桌面的网页的还是手机的,对测试脚本来说都是执行测试的库去负责的,也就是说我写测试只是写业务逻辑,如何执行是那些库的事情。第一层是测试逻辑层,第二层是测试实现层。
这样分开的好处是:1.实现层的工具可能会换,2.可以测试复杂的场景,3,维护人员可以分开,降低测试逻辑层维护人员的技术要求,4,便于大团队的协作。
7.允许半自动化测试
我曾经这么做:脚本负责截图,我事后肉眼人工检查截下来的图,来判断是否有界面错乱之类的问题。好处是实现方便,不用搞什么鬼的图像比对。图像比对完了之后你还是要瞄一眼截图,不然你不放心图像比对的结果,事实上我自己光瞄几眼就看完了所有图片,每种界面截个一两张就够了。
如果对接口、性能、自动化测试、面试经验交流等感兴趣的,可以关注我的头条号,我会不定期的发放免费的资料,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。欢迎分享,欢迎评论,欢迎转发。需要资料的同学可以关注小编+转发文章+私信【测试资料】
- 上一篇: 前端自动化测试框架 前端自动化测试工具
- 下一篇: 漫谈前端自动化测试演进之路及测试工具分析
猜你喜欢
- 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()使用
- 485℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 472℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 467℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 462℃【数据统计分析】详解Oracle分组函数之CUBE
- 444℃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)
本文暂时没有评论,来添加一个吧(●'◡'●)