Jmeter系列(21)- 详解 HTTP Request

HTTP Request 介绍

用来发送 HTTP、HTTPS 协议请求

 

HTTP Request 界面

字段名作用
名称不多介绍啦,建议自定义一个识别度高的名称
注释对于测试没有任何影响,仅记录作用
协议

http或https,大小写不敏感

默认:http

服务器名称或IP
  • 服务器 host 或者 ip,不包括协议
  • 比如:www.baidu.com、192.168.196.128
端口号目标服务器的端口号,默认:80
方法发送 http 请求的方法
路径
  • 目标请求的 URL 路径
  • 不包括协议、host、ip、端口
内容编码请求的编码方式,默认:iso8859
自动重定向
  • 发出的请求的响应码是3**,会自动跳转到新目标页面
  • 只记录最终页面的返回结果
跟随重定向
  • 和自动重定向唯一不同的是:
  • 会记录重定向过程中的的所有请求的响应结果
使用 KeepAlive
  • jmeter 和目标服务器之间使用 Keep-Alive 方式进行 HTTP 通信
  • 真正做性能测试强烈建议不勾选
对POST使用multipart/form-datapost 请求需要上传文件时勾选
与浏览器兼容的头
  • 当勾选 multipart/form-data 时,勾选此项
  • http请求头中的 Content-Type 和Content-Transfer-Encoding 被忽略
  • 而只发送 Content-Disposition 部分

 

Parameters 讲解

字段描述
Name参数名
Value参数值
URL Encode?
  • 是否要 URL 编码?
  • 重点:如果参数值包含了中文、特殊字符(非数字字母以外),最好勾上,当然全都勾上最稳妥
Content-Type
  • 参数值的资源类型
  • 默认:text/plain
Include Equals?
  • 当你的参数值为空的时候,可以选择不包含=,默认勾选
  • 如果参数值不为空,则不可以取消勾选

 

什么是 URL 编码

  • URL 编码解码又叫百分号编码,是统一资源定位(URL)的编码方式
  • URL 地址(常说网址)规定了数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用( / , : @  等),剩下的其它所有字符必须通过 %xx 编码处理
  • 编码方法很简单,在该字符ascii码的的16进制字符前面加%,如空格字符,ascii码是32,对应16进制是20,那么 urlencode 编码结果是 %20 

 

URL 编码的栗子

直接在网上搜在线 URL 编解码

 

include equals 的栗子

参数值为空,且勾选 Include equals

 

参数值为空,但不勾选  Include equals

 

其实说的就是等于号而已,一般也不会传空值,即使传了也会带上=

 

Body Data 讲解

  •  
  • 不过倒有个重点:如果 Parameters 有参数列表的话,是无法切换到 Body Data 的哦

 

Files Upload 讲解

字段描述
File Path文件的本地路径
Parameter Name参数名
MIME Type资源媒体类型

 

常见资源媒体类型

类型文件后缀格式
超文本标记语言文本.htmltext/html
普通文本.txttext/plain
XML 文件.xmltext/xml
PNG 图片.pngimage/png
GIF.gifimage/gif
JPEG 图片.jpeg、jpg image/jpeg

 

类型文件后缀格式
表单中进行文件上传 multipart/form-data
表单默认提交数据的格式 application/x-www-form-urlencoded
XML 数据格式 application/xml
JSON 数据格式 application/json
PDF 文件.pdfapplication/pdf
RTF 文本.rtfapplication/rtf
GZIP 文件 .gzapplication/x-gzip
TAR 文件.tarapplication/x-tar
AVI 文件.avi video/x-msvideo
MPEG 文件.mpg、.mpegvideo/mpeg

 

不同的content-type在jmeter中如何输入参数

前提

因为是需要真实接口进行测试的,这里提供两种方案

  • 自己用 Flask 框架开发了本地的接口进行测试, 如果有需要的同学进群领取哦:870155189
  • 或者进入 http://open.yesapi.cn/?r=user/registration&from=wx_837493986,直接注册个账号,弄个免费会员,有在线免费的接口提供测试哦

 

application/x-www-form-urlencoded 的栗子

备注:也是表单提交最常见的栗子

 

Parameters 方式传参

 

总结

  • 最终表单的参数列表会拼接到 URL 中,所以如果包含了中文、特殊字符就要勾选编码?
  • 这里可以通过 Body Data 传递参数哦,不过需要设置请求头,设置content-type,类型看接口文档或者抓包。注意需要输入内容编码格式

 

content-type:application/json 的栗子

Body Data 方式传参

 

添加 HTTP请求头

 

请求体

 

请求头

 

结论

重点就是添加 HTTP请求头,指明 Content-type 是 json 格式

 

content-type:multipart/form-data

重点:用于 post 请求,需要文件上传的场景;记住不是 get 请求

 

请求参数列表

如果选了 get 方法的话,文件参数是不会生效哦

 

文件参数

 

请求体

 

重点

  • 如果添加了 HTTP请求头,请务必不要添加 content-type : multipart/form-data 
  • 如果加了的话:那么所有的请求参数都会被当成文件以二进制形式传输,我们 parameters 里的文本格式参数就不会被识别,接口会提示参数为空

 

HTTP Request Advance

说实话我还没用过这部分的内容,不过还是得了解下每个配置项是什么意思哦

 

Client implemention 和 Timeouts

字段描述
implementation发送http请求的方式,可选项为 java、HttpClient4(默认)
Connect连接超时时间,单位毫秒
Respones响应等待超时时间,单位毫秒

 

Embedded Resources from HTML Files

  • 从HTML文件获取所有内含的资源
  • jmeter 在发出的  HTTP请求获得响应的 HTML文件内容后,对 HTML进行解析并获取HTML中包含的所有资源(图片、flash等)
字段描述
Retrieve All Embedded Resources发送http请求的方式,可选项为 java、HttpClient4(默认)
Parallel downloadds. Number

是否使用自设资源处。启用后可以设置资源池大小,默认为6

URLs must matchURL 匹配过滤,填写此项则只会下载与此内容项匹配的 url 的资源

 

Source address

只用于 HTTP协议且 implemention = HttpClient4 时

字段描述
IP/HostnameIP /主机名以使用特定的IP地址或(本地)主机名
Device选择设备以选择该接口的第一个可用地址,该设备可以是IPv4或IPv6
Device IPv4选择IPv4设备来选择名称设备的IPv4地址(如eth0, lo, em0)
Device IPv6选择IPv6设备来选择名称设备的IPv6地址(如eth0, lo, em0)

 

Proxy Server

代理服务器

字段描述
Server Name or IP代理服务器的名称或者IP地址
Port Number代理服务器的端口号
Username代理服务器的用户名
Password代理服务器的密码

 

 

本文作者:小菠萝测试笔记
本文链接:https://www.cnblogs.com/poloyy/p/13159537.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值