Jmeter接口测试之参数化

在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模拟不同的账号,这里就需要参数化的过程。在Jmeter中参数化处理主要会应用到配置元件中的CSV数据文件设置。下面通过不同的案例来说明这部分在接口测试中详细的应用。

      第一个案例是查询号码的归属地,见该接口的文档信息:

POST /WebServices/MobileCodeWS.asmx HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: text/xml; charset=utf-8
Content-Length: lengthSOAPAction: "http://WebXml.com.cn/getMobileCodeInfo"<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getMobileCodeInfo xmlns="http://WebXml.com.cn/"><mobileCode>string</mobileCode><userID>string</userID></getMobileCodeInfo></soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getMobileCodeInfoResponse xmlns="http://WebXml.com.cn/"><getMobileCodeInfoResult>string</getMobileCodeInfoResult></getMobileCodeInfoResponse></soap:Body>
</soap:Envelope>

下面就在Jmeter中创建线程组,以及HTTP的请求来测试这部分,见如图所示的部分:

图片

下来要实现的是期望每次发送请求的时候,参数mobileCode是不同的参数,那么首先在该线程组添加CSV数据设置文件,添加的步骤是右键线程组,点击配置元件,然后选择CSV数据设置文件,如图所示:

图片

选择后,然后在Jmeter的目录下创建script,再该目录下mobile.csv的文件,见该文件的内容:

图片

如上图显示的是测试过程中使用到的电话号码,在创建的CSV数据设置文件中导入该文件,并且填写变量名称,如下图所示:

图片

在mobile.csv文件中填写了4个不同的电话号码,并且变量名称是mobile,那么在接口请求的参数中调用该变量名称,调用的方法是:${mobile},如下图所示:

图片

然后调整线程组,设置执行4次,如下图所示:

图片

一切设置完成后,点击执行,可以看到接口执行了四次,并且每次调用的是不同的电话号码,见下图所示:

图片

图片

     在参数化的场景中,存储文件的方式很多,也可以使用记事本,不一定说非要csv的文件,在记事本中填写测试的电话号,见内容:

图片

然后在CSV数据设置文件导入mobile.txt的记事本文件,如下图所示:

图片

再次执行,见执行后的结果截图:

图片

图片

        下面来看其它场景中,比如登录的时候有不同的请求参数怎么处理,比如51    CTO网站的登录,见如下51CTO网站登录的请求参数:

图片

对请求的这些参数进行参数化的处理,特别是对登录账号和登录密码,见51cto.txt文件的内容:

图片

 然后创建CSV数据设置文件,导入该文件并且设置变量名称,见截图:

图片

设置执行两次,见执行后的请求参数截图:

图片

图片

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

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

相关文章

「TypeScript系列」TypeScript变量声明

文章目录 一、TypeScript 变量声明二、TypeScript 变量作用域1. 全局作用域2. 函数作用域&#xff08;局部作用域&#xff09;3. 块级作用域4. 模块作用域 三、TypeScript 类型断言四、TypeScript 类型推断1. 类型推断的示例变量类型推断函数参数和返回值的类型推断 2. 类型推断…

28、Flink 为管理状态自定义序列化

为管理状态自定义序列化 a&#xff09;概述 对状态使用自定义序列化&#xff0c;包含如何提供自定义状态序列化程序、实现允许状态模式演变的序列化程序。 b&#xff09;使用自定义状态序列化程序 注册托管 operator 或 keyed 状态时&#xff0c;需要 StateDescriptor 来指…

从零学算法14

14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 “”。 示例 1&#xff1a; 输入&#xff1a;strs [“flower”,“flow”,“flight”] 输出&#xff1a;“fl” 示例 2&#xff1a; 输入&#xff1a;strs [“d…

算法练习第21天|216.组合总和|||、17.电话号码的字母组合

216.组合总和 III 216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/combination-sum-iii/ 题目描述&#xff1a; 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一…

北亚MF2200手机取证平台介绍

一、产品介绍。 北亚MF2200手机取证平台是由北亚企安科技&#xff08;北京&#xff09;有限公司&#xff08;Frombyte&#xff09;自主研发的一款针对智能手机&#xff08;iPhone、Android&#xff09;及 iPad 取证分析的法证平台。本平台采集速度快&#xff0c;可通过自动提取…

【VUE】VUE3绘制箭头组件

效果预览&#xff1a; 长、宽、粗细等等根据情况合理调整即可。 组件&#xff1a; <template><div class"line" :style"props.arrowsColor"></div> </template><script setup> import { defineProps, ref, onMounted } fr…

为什么使用AI 在游戏中不犯法

使用AI在游戏中本身并不违法&#xff0c;甚至在很多情况下&#xff0c;游戏公司自己也会在游戏中集成AI来提高游戏体验&#xff0c;例如通过AI驱动的非玩家角色&#xff08;NPC&#xff09;来增加游戏的互动性和挑战性。然而&#xff0c;使用AI是否违法取决于AI的使用方式和目的…

36. 有效的数独 - 力扣(LeetCode)

基础知识要求&#xff1a; Java&#xff1a;方法、for循环、if判断、数组 Python&#xff1a; 方法、for循环、if判断、列表、集合 题目&#xff1a; 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一…

word2019 64位 NoteExpress突然无法使用解决方法

之前用的好好的&#xff0c;去除格式化运行过一次。 打开别的文档&#xff0c;突然发现红框中的图标全变灰了 根据教程添加 加载项&#xff0c;然后word以管理员身份重启&#xff0c;NE也以管理员身份运行&#xff0c;又可以了 然后突然又不行了&#xff0c;重启电脑后NE变成…

Android Studio开发之路(十二)image、byte[]、mat、Bitmap几种格式互转合集

一、知识点 Camerax中的 imageCapture用例默认的image格式是JPEG, 而ImageAnalysis用例默认的image格式是YUV_420_888. 二、ImageAnalysis用例中ImageProxy转mat YUV转Mat 三、imageCapture中image专byte[] 如下边代码&#xff0c; //拍照&#xff0c;保存到内存 private…

普中STM32F103ZET6开发板让DS0和DS1两个LED同时亮

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.运行效果 一.前言 在这套stm32教程中,只教学了如何亮DS0,而没有教学如何亮DS1。 二.代码 main.c #include "stm32f10x.h"void Syst

jQuery的选择器与自带函数详解

在前端开发中&#xff0c;jQuery是一个广泛使用的JavaScript库&#xff0c;它极大地简化了HTML文档遍历、事件处理、动画以及AJAX交互等操作。本文将通过一个示例页面&#xff0c;详细介绍jQuery的选择器和一些常用的自带函数。 示例代码优化 首先&#xff0c;我们来优化和完…

flowable多对并发网关跳转的分析

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

webpack监听文件改变实时编译示例:热更新

watchpack是webpack内部使用的模块&#xff0c;用于监听文件系统。当使用webpack-dev-server或webpack的–watch选项时&#xff0c;webpack会利用watchpack监听文件系统的变化 webpack-dev-server可以用来实现热更新 npm i -D webpack-dev-serverpackage.json"scripts&quo…

SpringBoot整合JavaMail邮件

JavaMail邮件发送 文章目录 JavaMail邮件发送1.方式一&#xff1a;SpringBoot整合JavaMailSender2.方式二&#xff1a;java直接发送 1.方式一&#xff1a;SpringBoot整合JavaMailSender 1.yml配置提取 application: mail:smtp:#服务器主机名host: smtp.qq.com#服务器端口 por…

spring boot3多模块项目工程搭建-下(团队开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 上文衔接 Common模块 DAO模块 Service模块 Web模块 API模块 写在最后 写在前面 本文介绍了springboot开发后端服务&#xff0c;多模块项目工程搭建&#xff0c;各模块的…

ZL-016D多通道小鼠主动跑轮系统主要研究动物生活节律

简单介绍&#xff1a; 多通道小鼠主动跑轮系统是由动物本身自发运动来推动跑轮转动。在这种构型中&#xff0c;笼内动物长期活动的信息&#xff0c;如跑轮转动方向、转数、累计总行程等&#xff0c;能够使用编码器进行长度计记录。此装置由转轮组件、笼体、以及转动方向速度传…

勒索软件漏洞?在不支付赎金的情况下解密文件

概述 在上一篇文章中&#xff0c;笔者对BianLian勒索软件进行了研究剖析&#xff0c;并且尝试模拟构建了一款针对BianLian勒索软件的解密工具&#xff0c;研究分析过程中&#xff0c;笔者感觉构建勒索软件的解密工具还挺有成就感&#xff0c;因此&#xff0c;笔者准备再找一款…

uniapp外部scss文件使用scss语法不生效,

项目场景&#xff1a; 页面的样式重复我想提取出来作为公共样式 新建scss文件&#xff0c;然后引入&#xff0c;结果样式不生效 问题描述&#xff1a; uniapp官网示例引入css的方法 /* 绝对路径 */ import url(/common/uni.css); import url(/common/uni.css); /* 相对路径 …

企业OA办公系统开发笔记:2、MyBatis-Plus

文章目录 企业办公系统&#xff1a;2、MyBatis-Plus一、MyBatis-Plus1、简介2、主要特点3、依赖 二、MyBatis-Plus入门1、配置文件2、启动类3、实体类4、添加Mapper类5、测试Mapper接口6、CRUD测试6.1、insert添加6.1.1、示例6.1.2、主键策略 6.2、更新6.3、删除6.3.1、根据id删…