Jmeter接口实战(二)之get请求结果写入文件

Jmeter接口实战(二)之get请求结果写入文件

第二式:get请求结果写入文件



前言

本系列文章将会教你由浅入深,快速上手Jmeter。
场景:要写一个审核接口的压测,发现传入的参数是变化的,例如ID,number之类的,那我就要在审核接口前实时获取一下这些参数信息,两种方法:
①简单点直接JDBC连数据库,写SQL取值
②有些时候不方便连数据库怎么办呢,那就通过接口获取一下吧

一、效果图

先上效果图,思路:一般打开某个菜单时,会有一个获取数据接口,我们拿到response之后,从众多的响应数据中,利用json提取器提取出想要的字段信息,然后写入文件中,方便下一个接口取数据用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import java.io.File;
import java.io.BufferedWriter;
import java.io.FileWriter;

File file = new File("${filepath}"+"test.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String data="";

for(int i=1;i<=Integer.parseInt("${page}");i++){
	data += vars.get("taskid_"+i)+","
		+ vars.get("CCID_"+i);

	if(i != Integer.parseInt("${page}")){
		data = data + "\n";
	}
}
bw.write(data);
bw.close();

二、知识点分析

1.获取页面数据的接口怎么找

瞪大你铜铃般的小眼睛看看,假如你当前页面有10条数据,打开F12,看preview,找一个有一列数字的接口,数值和当面页面数据条数相对应,把这个接口填到jmeter里面,给两个例子看看
在这里插入图片描述
这个是在csdn中进行搜索拿到的接口数据
在这里插入图片描述

2.json提取器

使用场景①:提取一个值,例如token

右键–》添加后置处理器–》json提取器
在这里插入图片描述
在这里插入图片描述

使用场景②:同一个字段出现多次,全部提取出来,例如响应中ID出现10次

如果想取10条数据的taskid,怎么写呢
分析:
1.首先是一个根节点,下面找到detaDetail–>$.detaDetail
2.在下面是一个数组,每个数组下面都有字符串,类似这种[{…},{…},{…}…]
我想取的是每个字符串里面的taskid,这就表示把[]
中每个taskid都取出来

$.detaDetail[*].taskid

3.如果只想取指定花括号下的taskid怎么写呢,想取第几个,n就写几

$.detaDetail[n].taskid

在这里插入图片描述
4.如果想取多个字段的值,中间用分号隔开
在这里插入图片描述

3.Beanshell将数据写入文件

右键–》添加后置处理器–》添加beanshell postprocessor
在这里插入图片描述
里面有两个参数${filepath}–》是要写入的文件的路径,可以添加一个配置原件【用户自定义的变量】,或者在测试计划下面添加变量,很灵活的,怎么喜欢怎么来
用户自定义的变量
在这里插入图片描述
测试计划变量
在这里插入图片描述

${page}是我取数接口中的条数,这个条数,我想根据压测情况来自定义值
在这里插入图片描述
来看下具体写法
先创建文件,然后把参数以逗号分隔进行拼接,然后写入文件中

import java.io.File;
import java.io.BufferedWriter;
import java.io.FileWriter;
// 创建文件
File file = new File("${filepath}"+"test.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String data="";
// 拼接参数
for(int i=1;i<=Integer.parseInt("${page}");i++){
	data += vars.get("dw_taskid_"+i)+","
		+ vars.get("dw_CCID_"+i);

	if(i != Integer.parseInt("${page}")){
		data = data + "\n";
	}
}
// 写入文件
bw.write(data);
bw.close();


总结

tips:在选项下面有个【日志查看】执行脚本时,可以打开日志,注意路径中有中文符号时,日志会报错,改成英文格式即可

我觉得两点比较重要吧
①json提取器提取多个值,要用星号去匹配
②beanshell将结果写入文件,需要有一点代码基础,或者能看懂大概复制粘贴也行,最重要的是,要根据自己的业务接口去思考。

下期预告,讲讲怎么读取文件中的数据,小伙伴们要有耐心多多练习呀~

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值