首页 > 其他分享 >jmeter常用配置、脚本

jmeter常用配置、脚本

时间:2023-12-11 11:57:45浏览次数:33  
标签:脚本 常用 String vars get write new jmeter out

一、CSV 数据文件读取、和写入CSV

读取MYSQL数据库的配置可参考:https://www.cnblogs.com/snailon/articles/17102671.html

1.读取CSV文件(读取文件可以放bin目录下,就可以不用写绝对路径,写文件名称即可)

2.提取的值(encryToken,signToken,vin,userId)写入csv,代码如下:

FileWriter fstream = new FileWriter("D:\\dlink\\tokens.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("encryToken")+",");
out.write(vars.get("signToken")+",");
out.write(vars.get("vin")+",");
out.write(vars.get("userId")+",");
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();

 jmeter造的业务数据或提取接口返回值时,有时会看到返回值有乱码,可能是编码问题,可以在http请求,加utf-8

参考链接:https://blog.csdn.net/u013302168/article/details/126366082

二、读取Redis

代码片段:

import redis.clients.jedis.Jedis;

// import org.apache.commons.lang3.StringUtils;
String
host = "${redisHost}"; // 服务器地址
int port = ${redisPort}; // 端口号
String password = "${redisAuth}"; // redis密码
int index = 0; // redis db,默认为0
String key = "bff:b2c:code:${key}"; // key值,需要读取数据的键值
Jedis jedis = new Jedis(host, port, true); //云服务Redis时 加true
// jedis.connect()
// if (StringUtils.isNotBlank(password)){
jedis.auth(password);
//}
jedis.select(index); // 选择redis db
String value = jedis.get(key); // 通过key值获取对应value
vars.put("code", value); // 将获取的value值保存到jmeter变量code中 ${code}引用
log.info(value)

三、JSON提取器取值

匹配验证在线工具:https://www.lddgo.net/string/jsonpath,正则匹配规则可参考:

https://zhuanlan.zhihu.com/p/591796289?utm_id=0
https://blog.csdn.net/weixin_60664821/article/details/127774588?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-127774588-blog-130429863.235^v39^pc_relevant_anti_vip&spm=1001.2101.3001.4242.1&utm_relevant_index=1

 四、Bealshell向文本写数据的几种方式

   1.字符流

//指定输出文件所在的目录和名字,
String filename = "D://test.txt";//此处可以用txt,也可以用csv
//true为追加写入内容,如果每次都清空重写,将true删掉
FileWriter writer = new FileWriter(filename,true);
String data_name1 = vars.get("name1");//name1是我本地正则表达式提取出来的变量
String data_name2 = vars.get("name2");
writer.write(data_name1+","+data_name2);//多条数据用逗号分割
writer.write("\r\n");//换行操作,用于下一组数据换行展示
writer.close();

2.字节流
String filename = "F://review.txt";
File file = new File(filename);
FileOutputStream fs = new FileOutputStream(file,true);
fs.write("asdada".getBytes());
fs.write("\r\n".getBytes());
fs.close();

3.封装成类
public class JmeterReadAndWrite {
public static void writeTxt(String txtPath, String content){
File file = new File(txtPath);
FileOutputStream fs = new FileOutputStream(file,true);
fs.write(content.getBytes());
fs.write("\r\n".getBytes());
// fs.flush();
fs.close();
}

}
String str = vars.get("review_id");//正确的写法
String txtPath = "F:\\review.txt";
JmeterReadAndWrite.writeTxt(txtPath,str);
原文链接:https://blog.csdn.net/qq_34365469/article/details/101419994

4.循环写入

 

FileWriter fstream = new FileWriter("/jmeter/src/datacsv/goodsInfofor",true);
BufferedWriter out = new BufferedWriter(fstream);
//log.info(vars.get("goodsName_${__counter(true,)}").replace(" ","-"));for(int i=1; i<${goodsName_matchNr}+1; i++){
    goodsName_i = "goodsName_"+i;
     // log.info(goodsName_i);
    String goodsName = vars.get(goodsName_i).replace(" ","-");

    goodsId_i = "goodsId_"+i;
    String goodsId = vars.get(goodsId_i);

    goodsColorId_i = "goodsColorId_"+i;
    String goodsColorId = vars.get(goodsColorId_i);

    goodsColorName_i = "goodsColorName_"+i;
    String goodsColorName = vars.get(goodsColorName_i);
    // log.info(goodsName);
   out.write(goodsName+","+goodsId+","+goodsColorId+","+goodsColorName+"\n");
 }
out.close();
fstream.close();

标签:脚本,常用,String,vars,get,write,new,jmeter,out
From: https://www.cnblogs.com/mys6/p/17891076.html

相关文章

  • 51单片机常用子函数大全
    1定时器0、1模块Time01.c代码#include<REGX52.H>#defineFOSC11059200L#defineT1MS(65536-FOSC/12/1000)//1000个1ms是1s,10ms中断的话,1000改成100voidTime0_init(void) //1毫秒@11.0592MHz{ TMOD&=0xF0; //设置定时器016位模式 TMOD|=0x01; //设置定时器......
  • Python Numpy 数据分析常用数学运算
    Python的NumPy库是数据分析和科学计算的核心库之一,提供了广泛的数学运算功能,使得处理大型多维数组和矩阵运算变得简单高效。NumPy是进行数据分析和科学计算的基石,掌握其数学运算功能对于进行有效的数据处理和分析至关重要。本文主要介绍PythonNumpy中数据分析常用数学运算......
  • Git常用命令
    Git常用命令1分支Branch查看分支查看本地分支gitbranch查看远程分支gitbranch-r创建分支gitbranch新分支名称推送到远程//gitpushorigin本地_分支名称:远程_分支名称(没有会自动创建)gitpushoriginbranch_v1.0.0:branch_v1.0.0切换......
  • centos 运维 jar 包脚本
    新建sh文件#!/bin/bash#DefinevariablesJAR_FILE="your-application.jar"JAVA_OPTS="-Xmx512m-Xms256m"PID_FILE="pid.txt"#Functiontocheckiftheapplicationisrunningis_running(){[-f"$PID_FILE"]&......
  • java-打包编译常用命令
    java-打包编译常用命令 1.maven预编译(打包检查异常) 在上到测试环境或者生产环境之前,先在本地打包检查异常: mvncleaninstall-Dmaven.test.skip=true-X  2.maven打包 一般用IDEA上的maven工具按钮: 如果打包失败则可以用下面的命令: mvncleaninsta......
  • .net中加解密用BouncyCastle就够了,支持常用的各种加密解密算法
    BouncyCastle是一个流行的Java加解密库,也支持在.NET平台上使用。下面是BouncyCastle在.NET下使用的一些常见功能,包括AES、RSA、MD5、SHA1、DES、SHA256、SHA384、SHA512等。在开始之前,请确保你已经将BouncyCastle的NuGet包安装到你的项目中。你可以通过NuGet......
  • 常用的DOS命令
    常用的dos命令打开控制台方式1:Win+R,然后输入cmd打开控制台(推荐)方式2:任意文件夹下,按住Shift+鼠标右键单击,在此打开命令行窗口方式3:资源管理器的地址栏上输入cmd,然后回车方式4:启动菜单里找到cmd(以管理员方式启动,可获得最高权限)常用的dos命令切换盘符​cd(changedire......
  • Docker的常用命令
    docker命令有很多,总的分为以下几大类:容器生命周期管理—docker[run|start|stop|restart|kill|rm|pause|unpause]容器操作运维—docker[ps|inspect|top|attach|events|logs|wait|export|port]容器rootfs命令—docker[commit|cp|diff]镜像仓库—docker[login|pu......
  • 鸿蒙开发 HarmonyOS DevEco Studio 常用快捷键
    前言做HarmonyOS鸿蒙开发离不开DevEcoStudio开发工具,DevEcoStudio是基于IntelliJIDEACommunity开源版本打造,所以默认的快捷键其实继承于IntelliJIDEA。熟悉DevEcoStudio的快捷键能提升开发效率和开发体验。下面将详细列出DevEcoStudio一些常用的快捷键,由......
  • JMeter—从下载到进行压力测试
    JMeter下载与安装下载首先进入JMeter官网点击左侧的“DownloadReleases”,进入红框圈出的网址找到jmeter文件夹进入“binaries”文件夹,注意上面有写需要的Java版本我这里选择了5.5版本下载配置环境变量将bin文件夹添加进系统的环境变量内配置......