自动化测试框架实战详解

news2024/11/17 5:50:01

前言
之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化测试的小伙伴们有一些思路上的帮助。

小编是以python+requests+unittest+HTMLTestRunner为基础进行的接口自动化探索,下面结合接口测试的测试点介绍一下整个框架的搭建思路:

我们知道接口测试本质是对数据的测试,调用接口,输入一些数据,随后,接口返回一些数据,最后验证接口返回数据的正确性。

基础
首先要理清楚进行接口测试需要了解的内容:

1、接口文档

a.接口协议--基于http协议的接口

b.接口域名--XXX.XX.XX

c.接口请求类型--业务中只涉及到get和post类型,其中又包含认证校验机制

d.接口参数

e.接口的返回--包含http状态码、业务状态码、实际业务逻辑对应的返回内容

2、 接口内部逻辑

a.接口内部逻辑对应的数据库及redis的操作(增删改查)

3、自动校验的结果

4、测试结果的展示

5、必要的解释说明

a.文档

b.注释

具体内容
小编在选择接口请求参数分离方式时对csv、excel、xml进行了对比,最终选择xml格式。

由于excel或csv格式需要维护一组测试case和参数对应关系,每次增删改case会需要同时修改excel或csv中对应的内容,而xml格式可以根据功能模块及接口设计参数文件的结构目录,无需再对接口case和对应的参数进行对应修改,所以选择了借鉴使用友组项目中接口自动化框架,也使用xml获取参数的模式,项目结构具体如下:
 

整个框架思路说明:

一、最开始就需要建立一个readme文档,即doc目录可以对框架进行整体的说明、写case具体的思路说明等。

二、既然是通过代码的形式进行自动化测试,就有可能会出现编写过程中的问题调试,所以需要有对应的log目录,即logs目录。便于case执行失败后进行问题定位

三、请求参数、按功能模块,根据开发给的的文档,以xml文件的格式对每个接口进行添加,如datafile/input/模块名/接口名 ,及对整个所有接口参数进行检索的interface.xml

四、公共api封装,在进行接口测试前通过文档我们可以知道请求域名、请求方法、公共请求参数(xml保存默认参数)、业务逻辑需要用的接口的公共参数等,可以对这些内容进行封装,如src/common/request_interface.py

包含对接口请求的封装,将其封装成通用的,这样可以满足业务所需要的get和post两种请求。大家可以自行根据自己业务请求的特点结合request库提供的方法进行封装。

如src/common/constant.py包含对域名、某一功能模块参数内容格式化获取、url获取、接口鉴别用户方法等(此处不做展示)

由于业务特点,对接口进行请求前可能需要构造某一种返回逻辑的测试环境,如模拟新用户功能,测试账号名是手机号于已经注册但又没有那么手机号可供每次作为新用户进行注册,这就需要将数据库中的需要对数据库或redis进行删除,从而实现新用户的模拟,其中src/common/db_manager.py和src/common/redis_manager.py分别对两者增删改查方法的封装,这时它们就起到了关键作用(大家可以自行搜狗,根据自己的风格编写)

当然,根据需要,也可增加其他可以使用的公共api接口,如针对php语言特点对返回的数据进行计算封装的src/common/calculate.py

五、每个功能模块的公共部分及所有接口用例执行入口,如crazy接口的公共功能部分src/activity/crazy及测试用例run_activity_crazy.py,及all_interfaces.py

以上接口用例的编写,对接口业务逻辑根据自己的需要进行编写,结果展示可以借助HTMLTestRunner,网上也有很多示例,可自行搜狗
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

淘礼金红包检测,规避订单返款/转账资损问题的技术实现方案

先说业务场景:很多电商人在订单转账或返款时,可能会因订单使用了如首单礼金/新品礼金/优惠劵或其他红包类型,导致资金损失问题。如下图所示: 再说解决方案:具体规避这类订单红包的资损(返款/转账多返&#…

mount报错NTFS signature is missing

给nvidia AGX orin的开发板加了一个内存条 sudo fdisk -l sudo mount /dev/nvme0n1 /mnt/pan1 #将/dev/nvme0n1挂载到/mnt/pan1 下结果挂载时报错如下: NTFS signature is missing解决方法,给创建一个ntfs即可: sudo mkfs.ntfs /dev/nvme0n…

三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码

项目介绍 本系统功能包括: 前台展示后台管理SAAS管理端,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理&…

芯片设计流程

VLSI 代表超大规模集成(Very Large Scale Integration),这是一种通过将数百万个晶体管集成到单个芯片中来创建集成电路 (IC) 的技术。超大规模集成电路技术可以生产出紧凑、功能强大且低成本的微处理器、存储芯片、数字信号处理器和其他先进电…

DC系列靶机4通关教程

DC-4 信息收集 扫描主机 arp-scan -l端口扫描 nmap -p- -A 192.168.16.165发现ssh端口和80端口都打开着呢 目录扫描 dirsearch -u http://192.168.16.165dirb hhtp://192.168.16.165登录web网页 发现没有可用信息,发现页面提示admin 爆破 用户密码爆破 使用…

什么是AI数字员工?它能帮我们做什么?

在今年360智脑大模型应用发布会上,360集团创始人周鸿祎再度提到了AI数字员工,他认为AI数字员工将为企业带来一场工作效率革命。在当今数字化和自动化的时代,人工智能(AI)正在逐渐地融入到各行业,而AI数字员…

《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现

系列文章导航 《优化接口设计的思路》系列:第一篇—接口参数的一些弯弯绕绕 《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现 前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术…

财富潮涌:银行发展绿色经济创新路径

在《玩转金融新“绿”潮,银行纷纷亮大招》内容中,我们带大家了解了商业银行有关绿色信贷产品、绿色债券产品及绿色投资的内容。今天,我们将继续带大家了解商业银行绿色金融实践路径中关于绿色财富、绿色服务和绿色运营的分析。 在绿色金融实…

数字中国背景下,企业数字化转型需要“强IT”

随着科技的快速发展和全球商业环境的不断变化,中国企业对灵活性、创新性、全球化和效率的需求是迫切的,进行数字化转型来支撑企业的业务变革、组织优化已是业界共识。如何根据企业的实际情况进行数字化转型对企业管理层,特别是CIO提出了新的挑…

解决 Axios 跨域问题,轻松实现接口调用

跨域是指访问另外一个域的资源,由于浏览器的同源策略,默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的。跨域的根本原因是浏览器的同源策略,这是由浏览器对 JavaScript 施加的安全限制。 Axios 跨域常见报错 跨域请求被阻止 (…

电子凭证试点深化后,企业如何应对?百望云提供电子凭证一体化解决方案!

今年5月,财政部、税务总局、人民银行、国务院国资委、国家档案局、标准委、国电联办、民航局、国铁集团九单位组织召开电子凭证会计标准深化试点启动会。 电子会计凭证的格式非常多样化,电子会计凭证的处理一直是企业的难点。此次试点工作虽然对企业的财…

SSL证书为什么要选付费?

SSL证书已经越来越多的使用在网站,小程序和APP上,对于保障网络安全,加密数据信息有至关重要的作用。随着SSL证书市场的发展,各种类型的证书产品也在不断丰富,用户在选择SSL证书时,除了可以购买付费证书&…

2023年8月京东白酒行业数据分析(京东数据开放平台)

中秋、国庆“双节”即将到来之际,白酒市场中越来越多的促销手段浮现,除了线下门店,线上电商也推出“百款直降”“限量预约抢购”“百亿补贴”等活动,如习酒消费满额享华为手机,五粮液指定产品满219减120元,…

Spring系列文章:Bean的作⽤域

1、singleton 默认情况下&#xff0c;Spring的IoC容器创建的Bean对象是单例的 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSche…

会声会影2023免费版电脑视频剪辑软件

会声会影视频剪辑软件对硬件配置要求不高&#xff0c;功能强大且涵盖面广&#xff0c;能为用户节省出大量的硬件成本与学习时间成本。大多数用户仅需一周左右的时间就可以掌握会声会影的基本功能模块&#xff0c;会声会影视频剪辑软件&#xff0c;已经拥有了超过20年的品牌历史…

微软hotmail邮箱的存储空间查询

我最近注册了hotmail邮箱&#xff0c;查询到的存储空间如下&#xff1a; 我们关注的存储应该是下面的电子邮箱存储&#xff0c;15 GB&#xff0c;还是比较大的。 而上面的存储是Microsoft账户存储。 我打算用hotmail邮箱以邮件的形式存储一些重要资料。

2024年浙江财经大学MBA招生简章发布:有哪些看点?

2024年研究生招生简章近期正在陆续发布&#xff0c;作为立足浙江十余年的专业机构&#xff0c;杭州达立易考教育带领考生们来认真分析一下各MBA项目的招生政策以及趋势&#xff0c;以方面在接下来的全国研究生考试网报期间顺利选到适合自己的项目&#xff01;本期围绕浙江财经大…

南京融资融券(信用账户)开户利率最低能做到多少?无门槛利率5%!

南京融资融券(信用账户)开户利率最低能做到多少?无门槛利率5%! 信用账户是指一种可以在购物和信贷过程中使用的账户。它通常与信用卡或贷款相关联&#xff0c;在购物或信贷过程中可以使用它来进行支付。 融资融券是一种证券投资方式&#xff0c;可以通过券商开通该服务。以下…

《DevOps实践指南》- 读书笔记(九)

DevOps实践指南 25. 附录附录 1 DevOps 的大融合精益运动敏捷运动Velocity 大会运动敏捷基础设施运动持续交付运动丰田套路运动精益创业运动精益用户体验运动Rugged Computing 运动 附录 2 约束理论和核心的长期冲突附录 3 恶性循环列表附录 4 交接和队列的危害附录 5 工业安全…

【HBuilderX】解决黑色主题中的注释颜色太浅的问题(代码示例)

打开后&#xff0c;搜索Comment&#xff0c;修改&#xff0c;一个是//的颜色&#xff0c;一个是注释内容的颜色