全网最牛最全面的接口自动化接口关联的三个层次

news/2024/7/21 4:18:49 标签: postman, excel, 测试工具

一、(接口查询的条件分析)

1.一般来说,在所有平台中,凡是往数据库里增加接口,必然有相应的查询接口和修改操作的接口

2.接口的后台服务除了要把数据返回给我们之外,还要把真正对数据的修改操作写入数据库

3.测试人员不知道接口实现的逻辑,不知道开发人员是先更新数据库,还是先给我们返回数据

4.因此来说,有两种方式,一种是调用相应的查询接口,另一种是直接查询数据库

但是如果系统很复杂,做为测试人员查询数据库的时候很有可能面临一个现状:查询语句非常复杂;这种复杂情况根本写不出来(超出能力范围),寻找开发协助,或者开发写好给测试人员直接使用,成本比较高;所以不是所有的接口一定要查询数据库(若产品与金钱,授权相关,数字非常敏感),因此能用查询接口就用查询接口

二、期望结果的两种匹配方式:全值匹配、正则表达式匹配

增加一列来指明比对类型

三、响应数据存储的处理

1、返回结果直接写入excel表格中

2、存储在文件中

如果返回的接口很长,超出excel单元格的范围,这种情况下可以将返回结果写入到文件中,将文件地址直接写入excel单元格中。

注意:需要专门增加一列表来表达存储类型(如果类型为2,表示要从文件当中读取)

四、app测试的token

token是什么呢?token就类似于session 中的cookies。区别是token主要应用于app,session主要运用于web平台。是用户的身份令牌,app登录时向服务器申请身份认证,服务器身份认证成功后,返回一张“通行证”--token值。用户在服务器上有很多资源,比如用户信息、投资记录、余额等等,如果 没有权限控制和身份认证,任何人就可以拿走你的钱,很不安全。为了保证用户数据安全,想服务器进行任何操作的时候(比如获取个人信息,充值、投资),必须每次告诉服务器你是谁,必须每次带上token去验证。token一般在登录时生成,有有效期限。这就类似一种关联,token是登录接口的一堆返回数据,后续的其他接口都要在请求中带上这个token (接口之间是依赖关系,接口A的返回值当中一部分作为接口B的入参)

五. 两种方案:

1. 从数据库或缓存中查  2. 从接口的返回值中提取(jmeter或postman都有用到)

六、实例

投资的请求数据是:"memberid": "${userid}",而 "userid"是充值接口返回数据的一部分,我们需要做两件事情:

1、从充值接口返回值中提取 2、再把提取的值赋值给投资接口的请求数据。考虑到提取和赋值都运行测试用例的过程中进行的,也就是动态的,而且还不确定有多少接口要用到这个值,因此提取出来的值需要所有的测试用例都要识别到(接口A的返回值,接口B,C,D要用到),所以提取的值需要变成一个公共变量(全局变量)

七、步骤

1.告诉代码,哪一个测试用例--需要提取返回结果当中的值。在excel中增加一列“提取表达式”,在这一列中,如果有值(提取的正则表达式),表示要提取。先提取赋值在断言,没有就直接断言。

2、再提取,正则表达式提取

3、告诉代码,哪个测试用例要用到提取的值,哪个位置用?占位符表示被替换的数据

4、将提取的值变成全局变量,变成键值对,声明一个py模块文件中的全局变量,变量 global_var,一个字典类型,在得到接口响应结果后,判断是否需要提取,如果需要提取,则将提取的值存放在 global_var中,供后续的其他接口使用

5、在接口请求之前,先判断global_var是否有值,且请求数据不为空的情况下,进行替换操作

下面分享我整理的这份2023年可能是最全的自动化测试工程师发展方向知识架构体系图。

码尚教育软件测试全职业生涯进阶从零到测试开发VIP课程| ProcessOn免费在线作图,在线流程图,在线思维导图

 

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励,也方便你下次能够快速查找,感谢。

如果你想获取该文章配套的视频视频教程以及练手的接口。请狠狠点击文章末尾推广小卡片

并把所需的资料的文章链接发给我即可领取

如果你想获取简历模板+面试技术宝典+求职视频+上千份测试真题,

请狠狠点击文章末尾推广小卡片

并把所需的资料的文章链接发给我即可领取

 


http://www.niftyadmin.cn/n/336182.html

相关文章

牛客 BM75 编辑距离(一) 【动态规划】

描述 给定两个字符串 str1 和 str2 ,请你算出将 str1 转为 str2 的最少操作数。 你可以对字符串进行3种操作: 1.插入一个字符 2.删除一个字符 3.修改一个字符。 字符串长度满足 1≤n≤1000 ,保证字符串中只出现小写英文字母。 示例1 输入&am…

Redis:主从复制_通过此功能实现对内存上的数据更好的保护

什么是主从复制? 简单的意义上来讲就是一个主人带着几个奴隶,奴隶的全部都是主人给他的,刚开始的时候奴隶是一无所有,是主人将自己的一部分给到奴隶了。因此奴隶翻身了,变得有钱了,也就是有一定价值了&…

保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链整体安全

近日,在「江狐会」广州站上,极狐(GitLab) 高级解决方案架构师武让分享了如何通过三大阶段 四大要点,规避代码安全「马奇诺防线」,真正确保软件供应链安全。以下内容整理自本次演讲。Enjoy~ 先跟大家分享一个故事 一战…

HTTP介绍、原理

HTTP 与 HTTPS 有哪些区别? HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。HTTP 连接建立相…

抽象类和接口的区别

Java是单继承和多实现 参数抽象类接口声明用abstract关键字声明用interface关键字声明实现子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有声明方法的实现子类使用implements关键字来实现接口,它需要提供…

中睿天下成为国家信息安全漏洞库(CNNVD)一级技术支撑单位

近日,中国信息安全测评中心公布2023年度国家信息安全漏洞库技术支撑单位名单,中睿天下荣获中国信息安全测评中心颁发的“国家信息安全漏洞库(CNNVD)技术支撑单位等级(一级)证书”,成为该领域最高…

选Ubuntu 还是 Fedora ?

提起开发,程序员们更青睐于不同版本的Linux操作系统而不是Windows。 为什么?因为Linux操作起来更安全、快捷,最重要的是,它的发行版本众多。你可以根据需要挑选最适合的那一款。那么,问题来了,到底哪个版本…

Java经典面试题—— 对比 Hashtable、HashMap、TreeMap 有什么不同?

典型回答 Hashtable、HashMap、TreeMap都是最常见的一些Map实现,是以键值对的形式存储和操作数据的容器类型。 Hashtable是早期Java类库提供的一个哈希表实现,本身是同步的,不支持null键和值,由于同步导致的性能开销&#xff0c…