接口自动化测试思路和实战之模块化测试脚本框架

模块化测试脚本框架

  需要创建独立的可描述的模块、程序片断以及待测试应用程序的脚本。这些小脚本进行组合,就能组成用来独立运行特定的测试的测试用例脚本。

场景一:

  开发把 access_token接口地址由/cgi-bin/token 改为/cgi-bin/get_token或者修改参数等 ==》开发把常用的接口信息调整了;这一个场景会导致测试脚本大部分的地方需要维护,而且还担心未来再调整;故使用模块化测试框架解决。

  由于获取 token操作在代码中使用非常频繁,所以做成公共的

步骤1、在common文件夹下新建common_function.py文件,封装方法

 编写代码:

# encoding: utf-8
# @author: Jeffrey
# @file: commom_function.py
# @time: 2022/7/26 21:01
# @desc: 模块化框架
import jsonpathdef get_access_token_value(session_obj):"""获取access_token的值"""url_params = {"grant_type": "client_credential","appid": "wxf14419077f707856","secret": "92a113bd4b5ffdc72144740dc7123c99"}response = session_obj.get(url="https://api.weixin.qq.com/cgi-bin/token",params=url_params)# 获取响应json中的access_token的值token_value = jsonpath.jsonpath(response.json(), "$.access_token")[0]return token_value
步骤2、在test_create_user_tag_api.py文件中导入公共模块,把原先多余的代码删除掉;如下图

上述代码的好处:1、降低代码的冗余;2、方便维护(上面描述的场景)

场景二:

公司的测试环境地址变更,比如从 api.weixin.qq.com该域名切换到192.168.1.12

步骤3、在common文件夹下新建local_config.py文件

步骤4、把local_config.py文件中的值放到用例层,如下图

查看执行结果

注:通过以上的用例层执行的时候,每个用例都要获取一次access_token,其实access_token每次获取后有效期是2个小时,后面解决。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud原理-OpenFeign篇(四、请求原理)

文章目录 前言正文一、书接上回,从代理对象入手二、ReflectiveFeign.FeignInvocationHandler#invoke()三、SynchronousMethodHandler#invoke(...) 的实现原理3.1 invoke(...)源码3.2 executeAndDecode(...) 执行请求并解码 四、如何更换client 的实现 附录附1&#…

module java.base does not “opens java.io“ to unnamed module

环境 如上图所示, Runtime version的版本是JAVA 17 项目所需要JDK版本为JAVA 8 解决

工业交换机一键重启和恢复出厂功能

工业交换机通常具有一键重启和恢复出厂设置的功能,这些功能可以通过设备的管理界面或物理按钮来实现。为用户提供了便捷的操作体验。一键重启功能可以帮助用户快速解决网络故障,节省时间和成本。具体的步骤可能因不同的交换机品牌和型号而有所不同&#…

用HeidiSQL在MySQL中新建用户

用HeidiSQL登录到MySQL数据库,注意登录的时候要使用有权限的用户: 选择工具-》用户管理: 点击左上角的“添加”: 输入用户名、密码,并且分配权限: 点击右边的“添加对象”: 可以根据自己…

桶装水订水送水小程序具备以下主要功能

桶装水订水送水小程序具备以下主要功能: 对比传统的电话订水,订水小程序展现出显著的优势: 1. 便捷性:用户通过小程序就能轻松预订水桶,无需亲自出门,极大提升了生活的便捷度。 2. 即时性:送水…

GAMMA权威指南【数字色彩】

如果你曾经编写过或计划编写任何类型的图像处理代码,你应该完成以下测验。 如果你对一个或多个问题的回答是肯定的,那么你的代码很可能做错了事情并产生不正确的结果。 这对你来说可能不会立即显而易见,因为这些问题可能很微妙,并…

圆通速递查询,圆通速递单号查询,批量复制查询好的物流信息

圆通速递单号物流信息查询,批量复制查询好的物流信息。 所需工具: 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册,然后登录…

机器学习(2)回归

0.前提 上一期,我们简单的介绍了一些有关机器学习的内容。学习机器学习的最终目的是为了服务我未来的毕设选择之一——智能小车,所以其实大家完全可以根据自己的需求来学习这门课,我做完另一辆小车后打算花点时间去进行一次徒步行&#xff0…

mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续

引言: 在使用MySQL数据库时,有时候我们需要删除某些记录,但是删除记录后可能会导致表中的id不再连续排序。 如何实现删除记录后让id重新排序的功能。 如图: 删除数据后,中间的id不会自动连续。 下面有两种方法进行重…

小航助学题库蓝桥杯题库c++选拔赛(21年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号) 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)

Redis分布式锁学习总结

⭐️ 前言 想必大家都有过并发编程的经验,在一个单体应用中,可以通过java提供的各种锁机制来控制多线程对于单体应用中同一资源的并发访问;那么在分布式场景下,想要控制多个应用对于同一外部资源的并发访问,就要用到分…

搭建nfs文件目录共享

搭建nfs文件目录共享 一、简介 NFS,英文全称是Network File System,中文全称是网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,在NFS应用中,本地NFS的客…