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数据设置文件,导入该文件并且设置变量名称,见截图:
设置执行两次,见执行后的请求参数截图:
Jmeter接口测试之参数化(十)的更多相关文章
- Jmeter接口自动化参数化 (转自软件测试部落)
测试场景: 有个查询城市(大概一百个 )天气预报的接口(需求参考第一课),需要根据不同的citycode,去查询对应城市的天气预报,这种接口该如何去测试呢? 分析需求: 不管是功能测试需求,还是接口测 ...
- Jmeter接口测试之案例实战
Jmeter是apacheg公司基于Java开发的一款开源的压力测试工具,安装Jmeter之前先安装Jdk,具体JDK安装和环境变量配置自行百度.这里不概述. 1.添加线程组 测试计划->添加- ...
- Jmeter性能测试之参数化(二)
Jmeter参数化主要有3种方式: 1. Add--> Pre Processors--> User Parameters 2. Add--> Config Element--> ...
- Jmeter接口测试之用例数据分离
之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...
- Jmeter接口测试之参数传递(十三)
在接口自动化测试中,经常会遇到的一种场景就是参数的场景,比如在用户列表中获取所有的用户列表,然后获取到某一个用户的ID,查看该用户的详细信息.首先在这里理清思路,它的流程是,首先获取到数据,然后在Jm ...
- Jmeter接口测试之案例实战(十一)
在前面的知识体系中详细的介绍了Jmeter测试工具在接口自动化测试中的基础知识,那么今天更新的文章主要是对昨晚的上课内容做个总结. 首先来看Jmeter测试工具在图片上传中的案例应用.首先结合互联网产 ...
- Jmeter接口测试之用户自定义变量(九)
在使用Jmeter做接口自动化测试中,经常会使用到公共的数据,那么就需要对这些公共的数据分离出来,不管是基于测试框架的思想,还是使用工具来进行做自动化测试,公共数据的分离首先是需要思考的.这里就以获取 ...
- jmeter接口测试之登录测试
注册登录_登陆接口文档 1.登录 请求地址: POST xxxxxx/Home/Login 请求参数: args={ LoginName:"mtest", // 登录名,可以为 ...
- Jmeter接口测试之Get请求
[一] 在测试计划下面添加一个线程组---------->在线程组下面分别添加HTTP请求.响应断言.BeanShellPreProcessor.察看结果树.聚合报告等内容. [二] 将使用的协 ...
随机推荐
- 初学Qt——vs2012开发环境下的窗体跳转
最近接了份外快,要求使用vs+qt开发一个简单的数据管理系统.qt开发使用的语言是c++,然而c++只是大一第二学期有教过而已,基本也差不多忘光了,废话不多说,讲下今天遇到的问题吧 如标题所说,窗体跳 ...
- Node REPL环境
1.概述 REPL全称Read,Eval,Print,Loop,简单理解为接收用户输入,执行用户输入,打印执行结果并输出到控制台,进行下一次轮回,可以进行一些简单的测试,类似于浏览器的控制台. 命令行 ...
- 系统级编程(csapp)
系统级编程漫游 系统级编程提供学生从用户级.程序员的视角认识处理器.网络和操作系统,通过对汇编器和汇编代码.程序性能评测和优化.内存组织层次.网络协议和操作以及并行编程的学习,理解底层计算机系统对应用 ...
- Ubuntu18.04LTS安装docker报错:Command 'lsb_release' not found
Ubuntu18.04LTS安装docker在执行sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/ ...
- ES6/JavaScript一些‘巧用’
前言 第一次发表文章,如有不好的地方请见谅/ 在编写JavaScript代码的时候存在的一些方法和技巧,虽然有时候条条大路都通向罗马,但是也许总会有那么一条最短的路径可走.本文将一些都知道却不怎么用的 ...
- 论JS函数传参时:值传递与引用传递的区别
什么是值传递:值传递是指在调用函数时将实际参数(实参)复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数. 值传递的总结:也就是说,将实参复制到函数中的这个过程叫值传递 什么是 ...
- Linux 常见目录
/bin 二进制目录,存放许多用户级的GNU工具 /boot 启动目录,存放启动文件 /dev 设备目录,Linux在这里创建设备节点 /etc 系统配置文件目录 /home 用户目录 /lib 库目 ...
- 04-influxdb基本操作
influxdb基本操作 1. 数据库基本操作 # 创建数据库 > create database db01; # 查看数据库 > show databases; name: databa ...
- postman设置测试环境
有时需要我们在不同的环境下跑相同的测试,就可以通过postman设置环境 展开环境切换下拉列表,点击[Manage Environments]
- [转载]Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论
Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论 转载至:https://www.sdnlab.com/17530.html 我们使用Linux作为服务器操作系统时,为了达到高并发处理 ...