若您需要对文件、图片的上传接口进行压测,可以使用JMeter编写脚本来模拟上传功能,然后通过PTS的JMeter原生压测方式发起压测。本文为您介绍如何使用JMeter客户端构造场景,并在PTS控制台完成压测。
前提条件
已在本地安装JMeter客户端。
步骤一:编写JMeter脚本
以下步骤将介绍如何通过编写JMeter脚本实现模拟上传功能。
- 启动JMeter客户端。
- 在JMeter客户端右键单击Test Plan,选择Add - Threads(Users) - Thread Group,为JMeter测试计划添加线程组,示例命名为模拟上传。
- 在JMeter客户端右键单击Thread Group,选择Add - Sampler - HTTP Request,在线程组中添加HTTP请求,示例命名为上传。
- 根据业务实际接口,填写HTTP Request Basic页签下的基本信息。
示例如下:
- Protocol:http
- Server name or IP:www.example.com
- Port Number:8080
- Method:POST
- Path:/fileupload
- 选中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=。 - 单击Files Upload页签,并单击Add添加参数信息。
配置项 说明 示例值 File Path 文件路径 填写文件名。注意:将该脚本上传至PTS发起压测时,需直接填写文件名,勿添加本地地址。 Parameter Name 参数值 file MIME Type 内容类型 image/png 配置示例如下:本例中,Basic页签的Path配置为/platform/api/center/file/file_upload.json,Files Upload页签的File Path配置为shanchu.png。 - 右键单击HTTP Request Sampler的上传,选择Add - Config Element - HTTP Header Manager,添加Header信息。上传接口一般需要配置Cookie和Content-Type。如果Thread Group中有登录操作,可不单独设置Cookie。
配置示例如下:其中Cookie的Value为登录后获取的会话Cookie值,Content-Type的Value为
multipart/form-data(boundary值由JMeter自动生成)。 - 右键单击Thread Group 模拟上传,选择Add - Listener - View Results Tree,在线程组中查看结果树。
- 保存测试计划文件,进行脚本调试。
根据View Result Tree查看该上传脚本的请求信息,示例如下:请求方式为POST,请求体为
multipart/form-data格式,包含上传文件的二进制数据(如shanchu.png,Content-Type为image/png)。Cookie Data中包含登录会话信息。
步骤二:使用JMeter原生压测
调试成功后,需要在PTS控制台选择JMeter原生压测模式并上传该测试脚本及相关文件进行压测。具体操作,请参见创建JMeter场景。
该文章对您有帮助吗?