如何使用JMeter在文件中写入HTML响应

如何使用JMeter在文件中写入HTML响应,jmeter,Jmeter,有人能帮助我如何使用JMeter从查看结果树侦听器保存HTML响应(包括屏幕图像)吗 我可以将结果存储在csv中,但我的主要目标是存储在视图结果树中显示的屏幕图像 屏幕截图名称应存储在步骤名称下(例如:TC002帐户菜单) 您可以使用.csv文件存储响应数据。请参阅下面的屏幕 您可以添加JSR223后处理器并将响应正文保存到文件中。 例如: File file = new File(pathToYourFile); FileWriter fstream= new FileWri

有人能帮助我如何使用JMeter从查看结果树侦听器保存HTML响应(包括屏幕图像)吗

我可以将结果存储在csv中,但我的主要目标是存储在视图结果树中显示的屏幕图像

屏幕截图名称应存储在步骤名称下(例如:TC002帐户菜单)


您可以使用.csv文件存储响应数据。请参阅下面的屏幕


您可以添加JSR223后处理器并将响应正文保存到文件中。 例如:

    File file = new File(pathToYourFile);
    FileWriter fstream= new FileWriter(file,true);
    BufferedWriter out = new BufferedWriter(fstream);
    out.write(prev.getResponseDataAsString());
    out.close();
    fstream.close();
如果希望将每个答案保存在不同的文件中,则需要添加代码来创建文件并为其添加新的uniq名称

UPD 在您自己的文件中保存每个响应的一种方法是根据计数器的值生成名称,如下所示: (使用JMeter函数)

或者这个: (使用计数器取样器)

最后,您将获得每个请求的文件

您可以将JMeter配置为存储响应数据,如果出于任何原因需要,请将下一行添加到user.properties文件:

然后重新启动JMeter以获取属性。下次运行脚本时,响应数据将内联到.jtl结果文件中,您将能够通过侦听器看到它

更多信息:



请注意,存储响应数据会导致巨大的磁盘IO开销,因此请明智地使用它(即,仅用于测试开发和/或调试),因为它可能会破坏您的测试,因为负载或多或少都很高。

csv文件很好,但我想存储显示在“查看结果”树中的屏幕图像。请帮忙this@DivakarRagupathy:一种方法是通过命令行生成html报告。或者你也可以选择屏幕shots@DivakarRagupathy:生成CSV文件后,您可以使用此命令Jmeter-g“CSV文件的位置”-O“输出文件的位置”。任何疑问请告诉我。@Divakarraguthy欢迎选择正确答案部分将帮助其他人。谢谢您的评论。我应该把包含文件名的路径放在“pathToYourFile”中吗?我尝试在没有文件名的情况下输入路径,但发现文件未找到异常。那么我应该放什么文件扩展名呢?上面的代码还会保存.jpg或.png之类的屏幕图像吗?是的,您应该将文件名放在“pathToYourFile”中File File=新文件(“C:\\qqq\\zzz.html”);'文件夹“qqq”必须存在。“FileWriter fstream=新的FileWriter(文件,false);'第二个参数必须为“false”,以便覆盖文件。您可以使用计数器生成名称,只需将数字添加到名称中。此外,您可能会在保存图像时遇到问题,这取决于您得到什么样的响应。由于文件名相同,它将替换现有文件,因此仅捕获最后一个控制器的最后一步。您能帮助理解如何使用计数器生成名称吗?或者我应该用唯一的名称在录音控制器的每个步骤下添加此后处理器吗?谢谢Sergey。。这正是我需要的。在结束问题之前,我能问你最后一个问题吗?如果我想在录音控制器下存储带有步骤名称的结果,那么我可以使用${stepname}吗?@divakaraguthy抱歉,我不明白你的意思。您只想将变量名从${counter}更改为${stepname}?若它是你们所需要的,你们可以在柜台上更改参考名称。
    def filename = "${__counter(FALSE,)}" + "response.html";
    File file = new File("C://JmeterResultFolder//"+filename);
def filename = "${counter}" + "response.html";
File file = new File("C://JmeterResultFolder//"+filename);
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=true