jemter接口测试+断言+参数化+接口关联实战教程

2023-11-18

此次实例准备:
jmeter实战接口申请地址:https://www.tianapi.com/

实例信息
请求10次身份证归属地查询接口 ,提取响应数据的星座信息作为请求参数,给星座运势查询接口使用(即接口之间关联调用)。
下面是两个接口的基本信息:
A.身份证归属地接口
API:https://apis.tianapi.com/sfz/index
接口信息:接口返回身份证号码归属地(发证地)、生日、生肖、星座、性别信息。15位的身份证号自动转换为18位。
▼ 接口信息
接口地址:https://apis.tianapi.com/sfz/index
请求示例:
https://apis.tianapi.com/sfz/index?key=APIKEY&idcard=421121195205201619
支持协议:http/https
请求方式:get/post
返回格式:utf-8 json
▼ 请求参数
post方式请求时,enctype应为application/x-www-form-urlencoded

上传文件二进制数据流方式,enctype必须为multipart/form-data

参数url、base64中有特殊字符时,建议对值urlencode编码后传递

名称 类型 必填 示例值/默认值 说明
key string 是 您自己的APIKEY(注册账号后获得) api密钥
idcard string 是 421121195205201619 身份证号码
▼ 返回示例
接口数据样例仅作为预览参考,请以实际测试结果为准

{
  "code": 200,
  "msg": "success",
  "result": {
    "birthday": "1952-05-20",
    "age": 69,
    "sex": "男",
    "zodiac": "龙",
    "xingzuo": "金牛座",
    "address": "湖北省黄冈市团风县"
  }
}

B.星座运势接口
API:https://apis.tianapi.com/star/index
接口信息:查询十二星座每日运势,支持幸运色,工作指数,爱情指数。幸运色等等。年月日缺省时,默认为当天运势

▼ 接口信息
接口地址:https://apis.tianapi.com/star/index
请求示例:https://apis.tianapi.com/star/index?key=APIKEY&astro=taurus
支持协议:http/https
请求方式:get/post
返回格式:utf-8 json
▼ 请求参数
post方式请求时,enctype应为application/x-www-form-urlencoded

上传文件二进制数据流方式,enctype必须为multipart/form-data

参数url、base64中有特殊字符时,建议对值urlencode编码后传递

名称 类型 必填 示例值/默认值 说明
key string 是 您自己的APIKEY(注册账号后获得) API密钥
astro string 是 taurus 星座中文或英文名
date string 否 2020-10-12 日期
▼ 返回示例
接口数据样例仅作为预览参考,请以实际测试结果为准

{
  "code": 200,
  "msg": "success",
  "result": {
    "list": [
      {
        "type": "综合指数",
        "content": "80%"
      },
      {
        "type": "爱情指数",
        "content": "80%"
      },
      {
        "type": "工作指数",
        "content": "80%"
      },
      {
        "type": "财运指数",
        "content": "70%"
      },
      {
        "type": "健康指数",
        "content": "80%"
      },
      {
        "type": "幸运颜色",
        "content": "金色"
      },
      {
        "type": "幸运数字",
        "content": "9"
      },
      {
        "type": "速配Q友",
        "content": "处女座"
      },
      {
        "type": "今日概述",
        "content": "今天朋友里面有些计较算计的人,沟通不顺利。部分人可能会比较想宅家躺吃"
      }
    ]
  }
}

案例分析
1)请求10次,可以利用jmeter的‘线程组’元件实现循环
2)接口A每次的请求参数可以利用jmeter的‘CSV数据文件设置’元件实现数据驱动,实现每次请求时获取不同的请求参数
3)接口B的请求参数依赖接口A的响应数据,两个接口存在关联关系,可以通过jmeter的‘后置处理器‘元件Json提取器来提取接口A响应信息中的星座
4)最后,为了验证结果,响应增加监听器组件(eq:查看结果树、聚合报告、断言结果)来查看结果
————————————————

接口测试实战步骤

1、添加测试计划和线程组,并配置运行条件
1) 添加线程组元件:测试计划->添加->线程组(用户)->线程组
勾选‘独立运行每个线程组’,确保接口按顺序请求,避免出现接口B先于接口A请求导致接口B获取不到对应的请求参数值的现象
在这里插入图片描述
2) 配置线程组元件:结合情景,线程数设置为1、循环次数设置为10即可满足要求
在这里插入图片描述
2、添加及配置HTTP请求默认值和HTTP请求
1)线程组右健>添加>配置元件>HTTP请求默认值
在这里插入图片描述
因为两个API都是同一个域名或IP,所有直接使用HTTP请求默认值,后面接口请求就不需要填写了
在这里插入图片描述
2) 添加HTTP请求元件:测试计划->线程组->添加->取样器->HTTP请求,因为一共有两个接口,所以需要增加两个HTTP请求元件
在这里插入图片描述
3)配置HTTP请求元件-A接口:结合A接口的接口信息,填写路径、请求方式、请求参数等信息。其中,由于接口A的参数值计划利用数据驱动实现,所以这里先填写对应参数的引用名
在这里插入图片描述
4)配置HTTP请求元件-B接口:结合B接口的接口信息,填写路径、请求方式、请求参数等信息。其中,由于接口B的参数值依赖于接口A的响应数据,所以这里先填写对应参数的引用名
在这里插入图片描述

3、接口A实现数据驱动
1) 准备CSV数据文件:根据需要,准备好对应的CSV文件,文件内容含所需的有效的key、idcard参数值
在这里插入图片描述
2)A请求的子节点下新增CSV数据文件设置元件并完成配置
a 在使用参数化的请求上右健>添加>配置元件>CSV数据文件设置
在这里插入图片描述
b 配置CSV元件
在这里插入图片描述

4、接口A及接口B实现关联
接口A请求的子节点下新增JSON提取器元件并完成配置
在这里插入图片描述
在这里插入图片描述
5、接口A、接口B增加断言
1) 接口A子节点下添加断言,断言方式为验证响应体中是否包含‘ “msg”:“success” ’信息

在这里插入图片描述
2) 接口B子节点下添加断言,断言方式为验证响应代码是否为200。(也可以使用其他断言内容,如上)
在这里插入图片描述
6、增加监听器组件,监听结果
1)线程组下增加察看结果树元件、聚合报告、断言结果在这里插入图片描述

7、运行测试
在这里插入图片描述
查看结果
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jemter接口测试+断言+参数化+接口关联实战教程 的相关文章

随机推荐

  • ElasticSearch 的配置

    ElasticSearch 的配置 Elasticsearch 的配置同样遵循着 约定大于配置 的设计原则 用户可以选择使用群集更新设置API在正在运行的群集上更改大多数配置 也可以选择通过配置文件对Elasticsearch 进行配置 一
  • WinDbg内核调试命令

    1 查看寄存器 r r eax r gdtr 2 查看pcr pcr 3 查看idt表 idt 转载于 https www cnblogs com fanzi2009 archive 2009 05 27 1491144 html
  • 解决git clone后无法找到文件的问题(通过指定地址)

    今天从github上clone了代码 最后出来形如 但是话说我的东西下载到哪里去了呢 摸不着头脑 然后百度之 发现一般会放在命令行对应的路径下 也就是 win R gt cmd 查看命令行地址 然后去此路径下寻找之 果然在这里 那么 如何才
  • C++知识分享: Socket 编程详解,万字长文

    介绍 Socket编程让你沮丧吗 从man pages中很难得到有用的信息吗 你想跟上时代去编Internet相关的程序 但是为你在调用 connect 前的bind 的结构而不知所措 等等 好在我已经将这些事完成了 我将和所有人共享我的知
  • 解决Echarts默认值为NaN问题

    只需要将echarts的下面属性进行修改就可以了 我们可以在下面代码逻辑中添加自己的逻辑 tooltip trigger item formatter function params if params value return param
  • CSS样式中background-position:后的两个值代表什么?

    如果提供了两个值 第一个会决定距离左边缘的偏移 即水平位置 第二个值会决定图片从上边缘向下的偏移 即竖直的位置 例如 background position 5px 10px 则代表 背景图片向左偏移5px 向下偏移 10px
  • [创业-37]:公司的组织架构--所有者与决策机构(股东)

    目录 第1章公司的组织架构 1 1 什么是公司的组织架构 1 2 公司组织架构的类型 第2章 典型的上司公司组织架构 2 1 股东大会 2 2 董事会 2 3 监事会 2 4 总经理 补充 创始人 董事长 CEO 总裁 总经理的区别 第1章
  • PAT2-回形取数

    回形取数 qdulq 40 分 回形取数就是沿矩阵的边取数 若当前方向上无数可取或已经取过 则左转90度 一开始位于矩阵左上角 方向向下 输入格式 输入第一行是两个不超过200的正整数m n 表示矩阵的行和列 接下来m行每行n个整数 表示这
  • CSS 层叠上下文(Stacking Context)

    在网页制作的过程中 元素与元素之间的位置关系 在坐标轴上一般可体现为 X 轴 Y 轴和 Z 轴 对于 X 轴和 Y 轴的定位大多数开发都能比较直观的搞清楚 而 Z 轴 则相对较为模糊 或者说不能全面的理解Z轴的显示逻辑 大多数人都知道可以使
  • springboot 配置文件中属性变量引用方式@@解析

    这种属性应用方式是field name field value 两个 符号是springboot为替代 属性占位符产生 原因是 会被maven处理 所以应该是起不到引用变量的作用 方式可以引用springboot非默认配置文件 即其他配置文
  • 【01】OpenCV模块架构介绍+示例程序演示

    本系列文章是基于Windows下 结合Visual Studio2017和OpenCV4 7进行编写 使用C 代码进行演示 目录 1 OpenCV模块架构 2 示例程序效果展示 2 0创建工程 2 1边缘检测示例edge cpp 2 2K聚
  • 求学在卡梅

    卡内基梅隆大学坐落在美国宾夕法尼亚州匹兹堡市 对于卡梅 我同样慕名已久 清华大学的计算机学科在国内名列前茅 而卡内基梅隆大学计算机学院下属计算机 机器人和语言工程等几个系 和麻省理工 斯坦福 伯克利一起在计算机领域排名第一 1999年8月
  • 纯新手入门机器/深度学习自学指南(附一个月速成方案)

    原作 Masum Hasan问耕 编译整理量子位 出品 公众号 QbitAI 怎么入门机器 深度学习 回答这个问题 最先要考虑的问题是 你有多少时间 准备用三个月入门 和想要一个月速成 肯定是截然不同的路径 当然我建议大家稳扎稳打 至少可以
  • 如何解决K8S节点显示NotReady

    文章目录 kubernetes节点断电重启 kubernetes节点断电重启 背景 运行的好好的k8s集群 某天断电 发现一个节点炸了 显示NotReady kubectl get nodes 那么如何查找问题呢 我们用它 journalc
  • 如何在移动端猎豹浏览器中设置代理IP

    手机浏览器作为一款功能强大且广受欢迎的移动浏览器 提供了丰富的功能和个性化选项 其中包括设置动态ip地址的功能 通过设置动态ip地址 您可以改变您的网络访问路径 保护个人隐私 或者访问被地理限制的内容 接下来 我将为您介绍在手机浏览器中如何
  • Count the string【KMP】

    It is well known that AekdyCoin is good at string problems as well as number theory problems When given a string s we ca
  • 深度学习里面正则化的理解

    一 正则化的概念与用处 正则化 也叫规范化 在神经网络里主要是对代价函数高次项添加一些惩罚 防止其过拟合 相当于对某些特征的权重施加惩罚 降低其影响权重 防止过拟合 欠拟合时需要去掉正则化 因为本来就特征不足 再惩罚一下就更没用了 正则化目
  • JCenter() 与 mavenCenter() 的区别

    网络上有两种Maven仓库 分别是mavenCenter 和jCenter 1 Maven Central 则是由sonatype org维护的Maven仓库 http jcenter bintray com 2 jcenter是一个由 b
  • ARM开发——搭建嵌入式开发环境

    ckermit串口工具的下载 sudo apt get install ckermit 如果我们有新的串口连接上 我们可以通过查看 dev 来看连接的数据 ckermit 配置文件的配置 kermrc set line dev ttyUSB
  • jemter接口测试+断言+参数化+接口关联实战教程

    此次实例准备 jmeter实战接口申请地址 https www tianapi com 实例信息 请求10次身份证归属地查询接口 提取响应数据的星座信息作为请求参数 给星座运势查询接口使用 即接口之间关联调用 下面是两个接口的基本信息 A