【问题标题】:JMeter asserting a response has been successfully downloadedJMeter 断言响应已成功下载
【发布时间】:2014-06-17 21:30:22
【问题描述】:

我正在使用 JMeter 来测试我网站上的一些功能。通过使用Save Responses to a file 元素,我已经能够成功发出通过JMeter 下载pdf 的请求。但是,我很好奇是否有断言来检查文件是否已实际下载(如果可能的话,是我指定的格式!)。我知道我可以简单地查看文件,但我希望让它更加自动化。我已选中“仅保存成功的响应”,但我想确保响应已实际保存。

【问题讨论】:

    标签: jmeter response


    【解决方案1】:

    我认为您需要为此使用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 指南。

    【讨论】:

    • 虽然这不是我采用的方法,但这将是一种适用的检查方式——事实上,我做了类似清理测试并删除文件的操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多