使用beanshell断言提取POST DATA

时间:2018-02-09 08:30:47

标签: file-upload jmeter beanshell assertion

鉴于我下面的原始问题,我设想了一种方法。似乎我需要的数据是在我的“请求”中的POST数据中。任何人都知道如何从中提取“SampleText.txt”:

sample
    --MbxZ3_yI7Q32k5mz-ThR6RMeCwF-DXdXjJbxIB2
    Content-Disposition: form-data; name="uploadVideoFile"; filename="SampleText.txt"
    Content-Type: text/plain
    Content-Transfer-Encoding: binary

我正在测试这个网站:http://www.the-v.net/en/vtube/upload-video。 它的主要功能是执行视频上传,请注意它只允许MOV, MP4, M4V, AVI, 3GP, 3GP2, ASF, WMV, MPEG formats

我已经创建了一个测试计划,用于上传不同格式的文件(3GP,MP4,PPT,XLS等)。 是否可以使用beanshell断言在日志上写入已上载的文件类型?我是beanshell脚本的新手,我现在所知道的是如何检查响应数据并在测试用例通过时写入响应消息。

是否可以在日志文件上或作为响应消息写入正在发送的文件类型或发送的参数?

1 个答案:

答案 0 :(得分:0)

请注意JMeter中的starting from JMeter 3.1 it is recommended to use JSR223 Test Elements and __groovy function for any form of scripting

因此,为了将参数打印到 jmeter.log 文件,您可以使用JSR223 Assertion和以下Groovy代码:

def mySampleFile = sampler.getHTTPFiles()[0]

log.info('File name: ' + mySampleFile.getPath())
log.info('File type: ' + mySampleFile.getMimeType())
log.info('File parameter name: ' + mySampleFile.getParamName())

演示:

JMeter JSR223 Assertion Print Parameters

更多信息:Scripting JMeter Assertions in Groovy - A Tutorial