如何使自动化框架变的更加通用?这两个工具值的你学习。
ccwgpt 2024-10-01 08:25 64 浏览 0 评论
有没有通用的Python写的接口自动化测试框架?还是说换个项目就得重写?
1.通用的本质
所谓的通用,本质就是抽象 。什么是抽象 ,就是从不同中找相同 ,你看到每个项目会有那么多的不同 ,但是它们也存在相同。把相同点作为框架功能或组件 ,把不同点的组件开放给用户,让用户来输入 。 这就是通用的自动化框架。
而大多数测试人员开发的自动化框架还是基于项目的 ,一旦离开了这个项目,这套自动化框架也就不适用了 。
比如,我们针对某一个项目要实现一套接口自动化框架 ,就的适配它的登录 、token处理 、每个接口的请求参数 、返回结果 、断言等 。但是 ,一旦换了项目 ,这套框架就的大改 ,因为每个项目的处理方式不一样 ,比如下面的这些情况 :
- 以token为例 ,有的token值是拼接在请求头的 ,而有的token是拼接在URL中的 ;
- 再比如请求头 ,有的项目需要添加特有的请求头参数 ,这个参数只有这个项目中才会有的 ,而有的项目则无需添加这些参数 ;
- 有的项目的请求体是表单类型的,而有的项目是JSON格式 。
你的自动化框架兼容一种情况好说 ,当你要适配多种不同的情况 ,这个时候你可能就会崩溃。并不是简单的添加几个判断或者添加几个功能那么简单了 。你该怎么办 ?
2.如何通用?
最好的办法就是借鉴 ,大白话就是学习经验 。 该学习什么呢 ? 学习那些优秀的框架 ,它们是怎么做的 ?比如在http协议这个领域中 ,目前使用最广泛的、最优秀的框架应该算是postman和jmeter了 。
从使用群体上说 ,目前没有那款工具比这两个工具使用的人群更广了 ,它们几乎可以完成所有http协议项目的测试 ,即便你换了项目了 ,也能很快的应用 。
为什么这两款工具深受用户喜欢呢 ? 个人认为主要有以下三点原因 :
- 功能全 :在这两款工具中有足够多的功能 ,你用到的、用不到的都能在这里找到 。
- 体验好 :这两款工具有很多易用性功能 ,postman中有导入请求、批量断言 、共用参数等 ,而jmeter中有元件组合、拆分、控制器控制等 。这些都为测试人员提供了很多的便利 。
- 上手简单 :最主要是它们上手也比较简单 ,你的学习成本很低 ,很快就能应用在项目中 。
我们要自己实现接口自动化框架 ,该如何适配所有项目呢 ?就是先不要站在项目角度考虑问题 ,而是要站在协议的角度去思考 。比如http协议有那些方法 ,请求头如何添加 ,请求体有几种类型等 ,把它们做成通用组件 。
当然 ,你还的兼顾项目的一些需求和问题 ,比如项目需要有组织架构 、项目的请求需要断言 、项目中的数据需要保存(变量) ,这些都是在项目测试中是需要的 ,所以,你也的把它们封装为功能 。以postman功能为例 :
项目需求 | postman功能 | 接口自动化框架功能 |
项目的组织结构 | 集合 | 类似集合的功能 |
测试用例的测试 | 断言 | 用例测试功能 |
数据保存 | 变量 | 保存数据和提取数据功能 |
自定义功能 | 编写JavaScript代码 | 自定义代码功能 |
[雨滴测试]开发的自动化框架正在向这个方向努力,因为工程量太大 ,所以,目前还在实现中 。目前已经实现了接口自动化和web自动化集成 ,编写配置文件即可实现测试用例 。而且集成了docker部署、pipeline持续集成 、selenium grid等技术 。
3.掌握技术
想要实现通用 ,以下的这些技能必不可少 。
相关推荐
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
-
Epic商店很香,但也有不少抱怨,其中一条是启动游戏太慢。那么,如果让Steam启动Epic游戏,会不会速度更快?众所周知,Steam可以启动非Steam游戏,方法是在客户端左下方点击“添加游戏”,然...
- Docker看这一篇入门就够了(dockerl)
-
安装DockerLinux:$curl-fsSLhttps://get.docker.com-oget-docker.sh$sudoshget-docker.sh注意:如果安装了旧版...
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
-
2016年6月15日,我AY对外发布AYUI(WPF4.0开发)的UI框架,开发时候,你可以无任何影响的去开发PC电脑上的软件exe程序。AYUI兼容XP操作系统,在Win7/8/8.1/10上都顺利...
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
-
浏览器套壳方案,C#和C++有更多,你说的没错,从数量和历史积淀来看,C#和C++确实有不少方式来套壳浏览器,让Web内容在桌面应用里跑起来。但咱们得把这套壳二字掰扯清楚,因为这里面学问可大了!不同的...
- OneCode 核心概念解析——Page(页面)
-
在接触到OneCode最先接触到的就是,Page页面,在低代码引擎中,页面(Page)设计的灵活性是平衡“快速开发”与“复杂需求适配”的关键。以下从架构设计、组件系统、配置能力等维度,解析确...
- React是最后的前端框架吗,为什么这么说的?
-
油管上有一位叫Theo的博主说,React是终极前端框架,为什么这么说呢?让我们来看看其逻辑:这个标题看起来像假的,对吧?React之后明明有无数新框架诞生,凭什么说它是最后一个?我说的“最后一个”不...
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
-
面试官放下简历,手指在桌上敲了三下:"你上次解决的技术难题,现在回头看有什么不足?"眼前的候选人瞬间僵住——这是上周真实发生在蚂蚁金服终面的场景。2025年的前端战场早已不是框架熟练...
- 前端新星崛起!Astro框架能否终结React的霸主地位?
-
引言:当"背着背包的全能选手"遇上"轻装上阵的短跑冠军"如果你是一名前端开发者,2024年的框架之争绝对让你眼花缭乱——一边是React这位"背着全家桶的全能选...
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
-
什么是BFFBFF全称是BackendsForFrontends(服务于前端的后端),起源于2015年SamNewman一篇博客文章《Pattern:BackendsFor...
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
-
在AI技术飞速发展的当下,如何更高效地与大语言模型(LLM)沟通,以获取更准确、更有价值的输出,成为了一个备受关注的问题。谷歌最新发布的《PromptEngineering》白皮书,为这一问题提供了...
- 光的艺术:灯具创意设计(灯光艺术作品展示)
-
本文转自|艺术与设计微信号|artdesign_org_cn“光”是文明的起源,是思维的开端,同样也是人类睁眼的开始。每个人在出生一刻,便接受了光的照耀和洗礼。远古时候,人们将光奉为神明,用火来...
- MoE模型已成新风口,AI基础设施竞速升级
-
机器之心报道编辑:Panda因为基准测试成绩与实际表现相差较大,近期开源的Llama4系列模型正陷入争议的漩涡之中,但有一点却毫无疑问:MoE(混合专家)定然是未来AI大模型的主流范式之一。...
- Meta Spatial SDK重大改进:重塑Horizon OS应用开发格局
-
由文心大模型生成的文章摘要Meta持续深耕SpatialSDK技术生态,提供开自去年9月正式推出以来,Meta持续深耕其SpatialSDK技术生态,通过一系列重大迭代与功能增强,不断革新H...
- "上云"到底是个啥?用"租房"给你讲明白IaaS/PaaS/SaaS的区别
-
半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...
- php宝塔搭建部署thinkphp机械设备响应式企业网站php源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
- Docker看这一篇入门就够了(dockerl)
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
- OneCode 核心概念解析——Page(页面)
- React是最后的前端框架吗,为什么这么说的?
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
- 前端新星崛起!Astro框架能否终结React的霸主地位?
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- ui自动化框架 (47)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)