ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JMeter上传文件压力测试

2021-09-06 12:01:50  阅读:117  来源: 互联网

标签:文件 file filePath 测试 fileName File new JMeter 上传


1.新建测试计划

测试计划页并设置用户变量,第一次初始上传的文件名称、文件路径

 

2.添加HTTP信息管理

 

如下图: 加入Cookie值

 

 

 

3.BeanShell preprocessor请求文件数据预处理
难点:文件压力测试,每次上传的文件必须不同
解决方式:(1)文件进行每次插入新数据,保存为新文件1M_Sensitive+新生成的随机数.csv

 

 

 BeanShell代码如下:

import java.io.*;
import java.util.Random;

String filePath=vars.get("Path");
String fileName=vars.get("Name");
System.out.println(filePath+" This is origin file path!");
System.out.println(fileName+" This is origin file name!");

try {
File file = new File(filePath+"\\temp");
//判断文件不为null或文件目录存在
if (!file.exists()){
file.mkdir();//创建文件夹
}else if(file.list().length==0){
System.out.println("文件夹为空,无需初始化删除");
}else{
//取得这个目录下的所有子文件对象
File[] files = file.listFiles();
//遍历该目录下的文件对象
for (File f: files){
f.delete();
}
}
Random ra =new Random();
int num=ra.nextInt(10000)+1;
long r1 = System.currentTimeMillis();
//File csvFile = new File("D:\\Work\\TestData\\Excel\\testData_2_sensitive.xlsx"); // CSV数据文件
String csvFile = filePath+"\\"+fileName;
BufferedReader br = new BufferedReader(new FileReader(csvFile)); // 附加

String newFileName = filePath+"\\temp\\"+fileName.split("\\.")[0]+(ra.nextInt(10000)+1)+"."+fileName.split("\\.")[1];
BufferedWriter bw = new BufferedWriter(new FileWriter(newFileName, true)); // 附加

int bufferSize = 100;
char[] chars = new char[bufferSize];
int read = 0;
while ((read = br.read(chars, 0, bufferSize)) != -1) {
bw.write(chars, 0, read);
}

// 添加新的数据行
bw.append("Good lucky!" + r1);
vars.put("fileList",String.valueOf(newFileName));
System.out.println(newFileName+" This is new file name!");
bw.close();
br.close();
} catch (FileNotFoundException e) {
// File对象的创建过程中的异常捕获
e.printStackTrace();
} catch (IOException e) {
// BufferedWriter在关闭对象捕捉异常
e.printStackTrace();
}

4.添加HTTP请求
(1)设置http协议:https、服务器IP、请求方式、路径

(2)重点设置参数:a.设置UserId, 传参形式必须改成form-data (如下图)

 

 

 

b.设置文件上传参数(如下图)

 

 

5.添加响应断言

 

 

6.添加查看结果树、聚合报告进行数据监控

 

 

标签:文件,file,filePath,测试,fileName,File,new,JMeter,上传
来源: https://www.cnblogs.com/wangqian1002/p/15233060.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有