Java 使用JMeter测试加载文档功能
我正在测试一个具有“加载文档”功能的服务。我需要发送一个独特的文件与每个请求。在HTTP请求采样器配置菜单中,我看到可以随请求一起发送文档。但是,我不知道如何在每个请求中发送不同的文档。有没有办法让JMeter稍微修改一个文档,生成一个指定的文档,或者甚至选择一系列外部生成的文档以提交请求?您可以使用While Controller下的CSV数据集配置以循环方式读取和发送预创建的测试文档名称 这将看起来像:Java 使用JMeter测试加载文档功能,java,testing,jmeter,Java,Testing,Jmeter,我正在测试一个具有“加载文档”功能的服务。我需要发送一个独特的文件与每个请求。在HTTP请求采样器配置菜单中,我看到可以随请求一起发送文档。但是,我不知道如何在每个请求中发送不同的文档。有没有办法让JMeter稍微修改一个文档,生成一个指定的文档,或者甚至选择一系列外部生成的文档以提交请求?您可以使用While Controller下的CSV数据集配置以循环方式读取和发送预创建的测试文档名称 这将看起来像: 创建不同测试文档的集合,以便随您的请求一起发送 可选:将创建的文档作为jmeter变量存
可选:将创建的文档作为jmeter变量存储到文件夹的路径,以便在脚本中使用
您可以在BeanShell Sampler中执行此操作,代码如下所示
CSV数据集配置为While Controller as child-从列表中读取测试文档名称
${uuu javaScript(“${testFile}”!=”,)}
-读取列表直到文件结束
生成测试文件列表的BeanShell采样器代码:
import java.text.*;
导入java.io.*;
导入java.util.*;
字符串[]params=Parameters.split(“,”);
字符串contentList=params[0];
字符串testDataDir=params[1];
File dir=新文件(System.getProperty(“user.dir”)+File.separator+testDataDir);
BufferedWriter out=null;
试一试{
如果(!dir.exists()){
抛出新异常(“目录”+dir.getName()+“未找到”);
}
File contentFile=新文件(System.getProperty(“user.dir”)+File.separator+contentList);
if(contentFile.exists()){
contentFile.delete();
}
FileWriter fw=新的FileWriter(contentFile,true);
out=新的缓冲写入程序(fw);
System.out.println(“\n---------------------------------------------------------------------------------------------------------------”;
System.out.println(“内容列表:\n”);
如果((dir.exists())&&&(dir.listFiles()!=null)&&(out!=null)){
对于(文件f:dir.listFiles()){
if(contentFile.length()==0){
out.write(f.getName());
}否则{
out.write(“\n”+f.getName());
}
out.flush();
System.out.println(“在“+contentFile.getName()+”中添加了内容“+f.getName()+”);
}
}
System.out.println(“--------------------------------------------------------------------------------------------------\n”);
}
捕获(例外情况除外){
IsSuccess=false;
log.error(例如getMessage());
System.err.println(例如getMessage());
}
捕获(可丢弃的thex){
System.err.println(thex.getMessage());
}
最后{
out.close();
}
您可以使用While Controller下的CSV数据集配置来读取和发送预先创建的测试文档名称
这将看起来像:
可选:将创建的文档作为jmeter变量存储到文件夹的路径,以便在脚本中使用
您可以在BeanShell Sampler中执行此操作,代码如下所示
CSV数据集配置为While Controller as child-从列表中读取测试文档名称
${uuu javaScript(“${testFile}”!=”,)}
-读取列表直到文件结束
生成测试文件列表的BeanShell采样器代码:
import java.text.*;
导入java.io.*;
导入java.util.*;
字符串[]params=Parameters.split(“,”);
字符串contentList=params[0];
字符串testDataDir=params[1];
File dir=新文件(System.getProperty(“user.dir”)+File.separator+testDataDir);
BufferedWriter out=null;
试一试{
如果(!dir.exists()){
抛出新异常(“目录”+dir.getName()+“未找到”);
}
File contentFile=新文件(System.getProperty(“user.dir”)+File.separator+contentList);
if(contentFile.exists()){
contentFile.delete();
}
FileWriter fw=新的FileWriter(contentFile,true);
out=新的缓冲写入程序(fw);
System.out.println(“\n---------------------------------------------------------------------------------------------------------------”;
System.out.println(“内容列表:\n”);
如果((dir.exists())&&&(dir.listFiles()!=null)&&(out!=null)){
对于(文件f:dir.listFiles()){
if(contentFile.length()==0){
out.write(f.getName());
}否则{
out.write(“\n”+f.getName());
}
out.flush();
System.out.println(“在“+contentFile.getName()+”中添加了内容“+f.getName()+”);
}
}
System.out.println(“--------------------------------------------------------------------------------------------------\n”);
}
捕获(例外情况除外){
IsSuccess=false;
log.error(例如getMessage());
System.err.println(例如getMessage());
}
捕获(可丢弃的thex){
System.err.println(thex.getMessage());
}
最后{
out.close();
}