JMeter模拟上传

更新时间:
复制为 MD 格式

若您需要对文件、图片的上传接口进行压测,可以使用JMeter编写脚本来模拟上传功能,然后通过PTSJMeter原生压测方式发起压测。本文为您介绍如何使用JMeter客户端构造场景,并在PTS控制台完成压测。

前提条件

已在本地安装JMeter客户端。

步骤一:编写JMeter脚本

以下步骤将介绍如何通过编写JMeter脚本实现模拟上传功能。

  1. 启动JMeter客户端。
  2. JMeter客户端右键单击Test Plan,选择Add - Threads(Users) - Thread Group,为JMeter测试计划添加线程组,示例命名为模拟上传
  3. JMeter客户端右键单击Thread Group,选择Add - Sampler - HTTP Request,在线程组中添加HTTP请求,示例命名为上传
  4. 根据业务实际接口,填写HTTP Request Basic页签下的基本信息。
    示例如下:
    • Protocol:http
    • Server name or IP:www.example.com
    • Port Number:8080
    • Method:POST
    • Path:/fileupload
  5. 选中Use multipart/form-data。在Parameters页签下,单击Add来添加请求Body中的参数信息。
    一般上传接口中无需填写,视具体请求来配置。配置项说明如下:
    配置项 说明 示例值
    Name 参数名
    Value 参数值
    URL Encode? 是否进行encode编码 选中后会进行encode编码,默认不选中。
    Content-Type 内容类型 text/plain
    Include Equals Value值的参数是否需要等号(=) 选中之后URL会变为http://www.example.org/?login=
  6. 单击Files Upload页签,并单击Add添加参数信息。
    配置项 说明 示例值
    File Path 文件路径 填写文件名。注意:将该脚本上传至PTS发起压测时,需直接填写文件名,勿添加本地地址。
    Parameter Name 参数值 file
    MIME Type 内容类型 image/png
    配置示例如下:本例中,Basic页签的Path配置为/platform/api/center/file/file_upload.jsonFiles Upload页签的File Path配置为shanchu.png
  7. 右键单击HTTP Request Sampler上传,选择Add - Config Element - HTTP Header Manager,添加Header信息。上传接口一般需要配置CookieContent-Type。如果Thread Group中有登录操作,可不单独设置Cookie。
    配置示例如下:其中CookieValue为登录后获取的会话Cookie值,Content-TypeValuemultipart/form-data(boundary值由JMeter自动生成)。
  8. 右键单击Thread Group 模拟上传,选择Add - Listener - View Results Tree,在线程组中查看结果树。
  9. 保存测试计划文件,进行脚本调试。
    根据View Result Tree查看该上传脚本的请求信息,示例如下:请求方式为POST,请求体为multipart/form-data格式,包含上传文件的二进制数据(如shanchu.png,Content-Typeimage/png)。Cookie Data中包含登录会话信息。

步骤二:使用JMeter原生压测

调试成功后,需要在PTS控制台选择JMeter原生压测模式并上传该测试脚本及相关文件进行压测。具体操作,请参见创建JMeter场景