如何在 JMeter 中读取 XML 文件?
How to read XML file in JMeter?
我试过:
//${__FileToString(C:\QC\qa\Testlink\Jmeter\Expected\test.xml,ASCII,${xmlFile})};
发现错误信息:
org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``//<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/At . . . '' Encountered "<" at line 2, column 1.
此外,我尝试使用 ${__StringFromFile}
并得到相同的错误消息,甚至使用 beanshell 脚本也是如此:
import org.apache.jmeter.services.FileServer;
//Open the file
FileInputStream fstream = new FileInputStream("C://QC//qa//Testlink//Jmeter//Expected//test.xml");
//Get the object of DataInputStream
DataInputStream instream = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(instream));
尝试以下操作:
- 将 Beanshell Sampler 添加到您的测试计划
将以下代码放入采样器的"Script"区域:
import org.apache.commons.io.FileUtils;
try {
String content = FileUtils.readFileToString(new File("C:/QC/qa/Testlink/Jmeter/Expected/test.xml"));
vars.put("content", content);
} catch (Throwable ex) {
log.info("Failed to read \"test.xml\" file", ex);
throw ex;
}
将 Debug Sampler and View Results Tree 侦听器添加到您的测试计划
- 运行 测试
- 确保 Beanshell Sampler 是绿色的并且设置了
${content}
变量。如果不是 - 查看 jmeter.log 文件并搜索行 Failed to read "test.xml" file
。如果此行下方的异常堆栈跟踪没有告诉您任何信息 - post 它在这里。
有关在 JMeter 测试中使用 Beanshell 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南。
我试过:
//${__FileToString(C:\QC\qa\Testlink\Jmeter\Expected\test.xml,ASCII,${xmlFile})};
发现错误信息:
org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``//<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/At . . . '' Encountered "<" at line 2, column 1.
此外,我尝试使用 ${__StringFromFile}
并得到相同的错误消息,甚至使用 beanshell 脚本也是如此:
import org.apache.jmeter.services.FileServer;
//Open the file
FileInputStream fstream = new FileInputStream("C://QC//qa//Testlink//Jmeter//Expected//test.xml");
//Get the object of DataInputStream
DataInputStream instream = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(instream));
尝试以下操作:
- 将 Beanshell Sampler 添加到您的测试计划
将以下代码放入采样器的"Script"区域:
import org.apache.commons.io.FileUtils; try { String content = FileUtils.readFileToString(new File("C:/QC/qa/Testlink/Jmeter/Expected/test.xml")); vars.put("content", content); } catch (Throwable ex) { log.info("Failed to read \"test.xml\" file", ex); throw ex; }
将 Debug Sampler and View Results Tree 侦听器添加到您的测试计划
- 运行 测试
- 确保 Beanshell Sampler 是绿色的并且设置了
${content}
变量。如果不是 - 查看 jmeter.log 文件并搜索行Failed to read "test.xml" file
。如果此行下方的异常堆栈跟踪没有告诉您任何信息 - post 它在这里。
有关在 JMeter 测试中使用 Beanshell 的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component 指南。