3

我努力了:

//${__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));
4

1 回答 1

5

尝试以下方法:

  1. Beanshell 采样器添加到您的测试计划
  2. 将以下代码放入采样器的“脚本”区域:

    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;
    }
    
  3. 调试采样器查看结果树侦听器添加到您的测试计划

  4. 运行测试
  5. 确保 Beanshell Sampler 为绿色且${content}已设置变量。如果不是,请查看jmeter.log文件并搜索该行Failed to read "test.xml" file。如果此行下方的异常堆栈跟踪没有告诉您任何信息 - 请在此处发布。

有关在 JMeter 测试中使用 Beanshell 的更多信息,请参阅如何使用 BeanShell:JMeter 最喜欢的内置组件指南。

于 2016-02-16T06:29:14.720 回答