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

news2024/11/19 6:44:40

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

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.coloradmin.cn/o/541589.html

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

相关文章

linux系统学习

本文建立于Linux的课堂学习 文章目录 Linux基础1. Linux操作环境1.1 简述Linux文件类型有哪些1.2 简述Linux的文件访问权限1.3 简述shell的功能,常见的shell有几种1.4 列举几个常用的Shell环境变量以及用途 2. Linux Shell命令操作2.1 简述在Linux Shell中获取帮助…

数据结构总结6:八大排序

后续会有补充 排序 排序:按照某个或某些关键字的大小,递增或递减排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变&#xff0c…

如何完美卸载VS2015(2023年5月份实测有效)

使用控制面板卸载VS2015,出现正在配置您的系统,这可能需要一些时间,然后就出现卡住半个小时第二行的条都没有动的问题,这里提供vs2015以及以前版本的卸载方式 问题产生原因:他需要下载一些东西,然后由于你懂的网络原因…

基于yolov3训练自己的数据集

训练数据集的教学视频链接 42. 第六章:基于YOLO-V3训练自己的数据集与任务_哔哩哔哩_bilibili 数据打标签 下载labelme标注工具 通过pip install labelme下载,打开anaconda prompt,切换到下载labelme的环境(我的是pytorch&…

torch显存分析——如何在不关闭进程的情况下释放显存

torch显存分析——如何在不关闭进程的情况下释放显存 1. 基本概念——allocator和block2. torch.cuda的三大常用方法3. 可以释放的显存4. 无法释放的显存?5. 清理“显存钉子户” 一直以来,对于torch的显存管理,我都没有特别注意,只…

ffmpeg mkv 文件解析

一、mkv的文件组织 1. EBML基本单元 EBML组成mkv文件最基本的单元, 也是解析文件最小的一个粒度。EBML基本元素结构: ID:标志着这个EMBL 是一个什么类型的,类型决定了后面data中存储的是什么类型的数据如是int,string…

腾讯云备案限制条件说明(必看)

腾讯云网站备案要求首先你有一个需要备案的域名,域名实名认证信息和备案主体相同;在腾讯云有一台符合备案条件的云服务器、轻量应用服务器等云产品;然后根据备案主体所在省份地区,符合当地的通信管理局要求。下面腾讯云百科来详细…

Centos7系统常用命令

一、防火墙firewalld、sestatus 1 查看防火墙状态:systemctl status firewalld 2 关闭运行的防火墙:systemctl stop firewalld.service 开启运行的防火墙:systemctl start firewalld.service 3 禁止防火墙服务器:systemctl di…

如何一行代码实现 OpenAI 可观测,大幅提升使用体验

作者|观测云 徐季秋 现在基于 OpenAI 的 Chat 应用井喷,但给开发者带来了两个难点,一是因为 OpenAI 基于 tokens 的计费机制导致不容易规划消费;另一是 OpenAI 提供的调用本身不稳定,很难分辨是传参错误或是访问失败。…

flume 进阶 Ganglia 部署(十二)

规划安装 hadoop100: web gmetad gmod epel-release hadoop101: gmod epel-release hadoop102: gmod epel-release 安装 三台都安装 sudo yum -y install epel-releasesudo yum -y install ganglia-gmond在hadoop100安装 sudo yum -y install ganglia-gmetadsudo yum -y i…

RT-Thread 2. GD32在 RT-Thread Nano上添加控制台与 FinSH

本篇文档分为两部分: 第一部分是添加 UART 控制台(实现打印):用来向控制台对接的终端输出打印信息;该部分只需要实现两个函数,串口初始化和系统输出函数,即可完成 UART 控制台打印功能。 第二部…

sonarqube上的webAPI如何调用?-暴躁了一天调通了

首先吐槽一句,官方API文档给了个寂寞,调不通啊,然后查各种搞了一天,竟然没有一篇文章能把这件事写清楚,给我暴躁的。 结论竟然是原来是我不会调用接口。。。我今天非要把这篇文章写好。 web接口入口 通过sonarqube下…

QT开发实战-动态壁纸软件

动态壁纸软件开发 项目源代码在下面链接获取: ----------------------------- 开发者:CodeSharkSJ 希望此项目能加强你对Qt的应用 文章目录 项目图与开发环境核心技术原理自定义窗口程序UI布局背景绘制样式表基本实现QWebEngineQMedia使用系统托盘隐藏记忆功能应用程序打包 …

四年巨亏49亿,第四范式四闯IPO

深陷亏损的AI公司第四范式,四闯IPO! 4月24日,决策类AI独角兽北京第四范式智能技术股份有限公司(下称“第四范式”)再次更新招股书,继续向港交所发起上市冲击。 第四范式是一家专注于提供以平台为中心的人…

(9) 线性回归

文章目录 1 多元线性回归LinearRegression1.1 基本原理1.2 linear_model.LinearRegression 2 回归类的模型评估指标2.1 是否预测了正确的数值2.2 是否拟合了足够的信息 3 岭回归与Lasso回归3.1 多重共线性3.2 岭回归3.2.1 linear_model.Ridge3.2.2 选取最佳的正则化参数 α \al…

车载以太网-FlexRay

摘要: 到底什么是FlexRay? 1. FlexRay是什么? 那么到底什么是FlexRay?往简单了说,就是CAN总线加LIN总线混合起来排个课程表、提个速再加个冗余。像LIN一样基于TDMA,提高了协议的复杂度,拥有静态…

【linux】挖矿病毒nanominer伪装成python占用服务器GPU的查杀记录

病毒表现 gpustat -cpu 可以看到root用户将GPU的核心跑满了每个占用都是100%,显存吃了6G多。 nvidia-smi 不能正常显示GPU被哪些进程占用 ![在这里插入图片描述](https://img-blog.csdnimg.cn/780f90080a084a44ac59227e384f985b.png 病毒文件分析 在/tmp/.x/…

win10 vmware虚拟机蓝屏怎么办 win10 vmware虚拟机蓝屏解决方法【详解】

最近有朋友出现win10 vmware虚拟机蓝屏的情况应该怎么办?小伙伴们在使用vmware虚拟机出现了蓝屏现象的小伙伴们不用担心,小编翻阅各种资料后给大家带来两种虚拟机蓝屏的解决方法,想要解决此问题的小伙伴们快跟着小编往下看吧! win…

三分钟看懂JDK、JRE和JVM的区别和联系

节选自JavaGuide(Github 标星 134k star!「Java学习 + 面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识) JVM Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同…

腾讯云轻量应用服务器卡死怎么连接?

腾讯云轻量云服务器卡死怎么解决?使用腾讯云自带的VNC登录连接轻量服务器,或使用腾讯云OrcaTerm一键免密登录轻量实例。如果是确定数据没问题,也可以使用控制台自带的重启实例。 腾讯云轻量应用服务器参考:https://curl.qcloud.co…