问题
I have tried:
//${__FileToString(C:\\QC\\qa\\Testlink\\Jmeter\\Expected\\test.xml,ASCII,${xmlFile})};
Found error message :
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.
also, I tried with ${__StringFromFile}
and got the same error message and even with beanshell script that is:
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));
回答1:
Try out the following:
- Add Beanshell Sampler to your Test Plan
Put the following code into the sampler's "Script" area:
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; }
Add Debug Sampler and View Results Tree listener to your Test Plan
- Run the test
- Make sure that Beanshell Sampler is green and
${content}
variable is set. If not - look into jmeter.log file and search for the lineFailed to read "test.xml" file
. If exception stacktrace below this line tells you nothing - post it here.
See How to Use BeanShell: JMeter's Favorite Built-in Component guide for more information on using Beanshell in your JMeter test.
来源:https://stackoverflow.com/questions/35423876/how-to-read-xml-file-in-jmeter