【发布时间】:2014-06-17 21:30:22
【问题描述】:
我正在使用 JMeter 来测试我网站上的一些功能。通过使用Save Responses to a file 元素,我已经能够成功发出通过JMeter 下载pdf 的请求。但是,我很好奇是否有断言来检查文件是否已实际下载(如果可能的话,是我指定的格式!)。我知道我可以简单地查看文件,但我希望让它更加自动化。我已选中“仅保存成功的响应”,但我想确保响应已实际保存。
【问题讨论】:
我正在使用 JMeter 来测试我网站上的一些功能。通过使用Save Responses to a file 元素,我已经能够成功发出通过JMeter 下载pdf 的请求。但是,我很好奇是否有断言来检查文件是否已实际下载(如果可能的话,是我指定的格式!)。我知道我可以简单地查看文件,但我希望让它更加自动化。我已选中“仅保存成功的响应”,但我想确保响应已实际保存。
【问题讨论】:
我认为您需要为此使用Beanshell Assertion。
检查文件存在、大小和内容类型的示例代码如下:
File file = new File("/path/to/downloaded/file");
//check file existence
if (!file.exists())
{
Failure = true;
FailureMessage = "File " + file.getName() + " does not exist";
}
//check file size
long expectedSize = SampleResult.getBodySize();
long actualSize = file.length();
if (expectedSize != actualSize)
{
Failure = true;
FailureMessage = "Actual file size differs from expected. Expected: " + expectedSize + " and got: " + actualSize ;
}
//check content type
String expectedType = SampleResult.getContentType();
String actualType = file.toURI().toURL().openConnection().getContentType();
if (!expectedType.equals(actualType))
{
Failure = true;
FailureMessage = "Response types are different. Expected: " + expectedType + " and got: " + actualType;
}
有关 JMeter 断言超级功能的更多信息,请参阅 How to Use JMeter Assertions in 3 Easy Steps 指南。
【讨论】: