jmeter测试结果写入到文件中

在接口性能测试中,准备相关的业务数据是件比较繁琐的事情,保证数据准确和快速生成,可以提高性能测试效率。我们可以通过jmeter测试相关的业务接口然后将结果写入到文件或者数据库中,方便我们获取压测需要的数据。

我使用的jmeter版本是3.3,需要jdk版本1.8

一 新建http请求

1 新增http头信息管理和http报文体

    

输入http请求需要的头信息和报文体如下图:

http头信息

报文体:

 

2 点击"鉴权绑卡"->"添加"->"断言"->"响应断言"

3 点击"鉴权绑卡"->"添加"->"监听器"->"察看结果树"

二 参数化数据

1 准备需要参数化的文件

2 点击"鉴权绑卡"->"添加"->"配置元件"->"CSV Data Set Config"

 

    * FileName:csv文件的名称及路径
    * File Encoding: 文件编码----默认为空
    * Varible Names: 定义文本文件中的参数名,定义后可当变量的方式来引用
    * Ignore first line(only used if variable name is not empty):忽略第一行(仅使用变量名不是空的)----默认为false,如果含有列头设置为true
    * Delimiter:分隔符---每个参数之间的分隔符号,一般默认使用逗号,
    * Allow Quoated data: 允许数据引---
    * Recycle on EOF: 文件结束循环----设置为True后,允许循环取值
    * Stop Thread on EOF: 文件结束后停止线程------默认为false,如果设置为True则会影响文件结束循环
    * Sharing Mode: 设置线程是否共享---默认设置为All threads

三 前置处理和后置处理

顾名思义,前置处理和后置处理分别是每笔请求之前和之后需要做的一些处理,这里我们主要介绍前置处理和后置处理

1 前置处理

"鉴权绑卡"->"添加"->"前置处理器"->"BeanShell PreProcessor"

参数化变量

 运行结果

2 后置处理

 2.1需要提取请求后返回的token

"鉴权绑卡"->"添加"->"后置处理器"->"正则表达式提取器"

2.2  将返回结果和需要的内容写入到文件中

"鉴权绑卡"->"添加"->"后置处理器"->"BeanShell PostProcessor"

  

 写入代码,如果不存在文件则新增,如果存在则使用。文件是追加的。

import java.io.FileWriter;
import java.io.IOException;

String uid = vars.get("uid");
String mobile = vars.get("mobile");
String bankid = vars.get("bankid");
String idcard = vars.get("idcard");
String token = vars.get("tokenn_g1");
String content = uid+","+mobile+","+bankid+","+idcard+","+token;

String fileName = "E:\\test.txt";
FileWriter fw = new FileWriter(fileName, true);
fw.write(content);
fw.write("\r\n");
fw.close();

四 运行程序查看结果

1 设置线程20,循环次数为永远,跑完数据为止(和参数化数据配置有关系)

2 "线程组"->"添加"->"监听器"->"聚合报告"

 

 3 到目录下查看文件生成了我需要的一组数据

 

后续:

jmeter执行结果内容写入数据库

猜你喜欢

转载自www.cnblogs.com/applemoon/p/8967721.html