网站首页 > 技术文章 正文
http协议是接口测试、性能测试中使用最多的协议,那么在JMeter中和http协议的请求实现有关的组件有哪些呢?
一般来说,比较常用的有:
http请求
http信息头管理器
http请求默认值
HTTP cookie管理器
HTTP请求
首先我们来看看http请求的相关选项
基本:
名称:由用户自定义,用于在监听器组件中作为名称进行数据的分组统计用。
注释:由用户自定义,可以为空。
协议:http请求的协议,一般可填写的为http或者https,默认为http协议。
服务器名称或IP:填写的是URL中的域名部分。
比如:
www.baidu.com
192.168.1.100
端口号:填写是URL中的端口部分。如果服务器使用的端口为http默认对应的80或者https协议默认对应的443,则可以留空。
请求方法:根据实际的接口所使用的方法进行选择即可。
路径:URL中的路径部分。
对于get方法的请求,URL地址参数可以选择填写在路径中,也可以选择填写在下方的参数页中。
对于post方法的请求,URL地址参数部分只能填写在路径中。
内容编码:用来指定post方法时,request body的内容的编码。这表示JMeter在发送数据时会按照指定编码对内容进行编码之后再发送。
自动重定向:表示JMeter会自动根据响应头等信息进行重定向操作,且在结果中不会记录重定向的中间过程,只会记录最后一次请求的结果。
跟随重定向:表示JMeter会自动根据响应头等信息进行重定向操作,且在结果中会会记录重定向的中间过程。
使用KeepAlive:表示支持长连接。
对 POST 使用 multipart/form-data:该选项用于需要做文件上传类的请求时。一旦勾选了该选项,则JMeter会自动将参数和文件页的内容组装为混合表单格式的数据,且会自动生成Content-Type请求头(在勾选该选项的时候,切记不要手动添加Content-Type请求头)。
不勾选该选项,则参数部分将使用application/x-www-form-urlencoded格式组装并且发送。
与浏览器兼容的头:当使用multipart/form-data时,会隐藏Content-Type和 Content-Transfer-Encoding标头;仅发送Content-Disposition标头。
参数:一般分为两种情况。
当使用get方法时,可以在此处实现URL地址参数的设置,然后JMeter会自动进行URLencode处理进行发送。
当使用post方法时,仅当发送的请求为application/x-www-form-urlencoded或者 multipart/form-data时,才能使用参数进行请求主体的处理。
消息体数据:这个选项和参数选项不能同时使用。该选项表示用户自己指定需要发送的请求主体,相当于是raw数据,仅适用于post方法。使用该选项来发送数据时,一定要手动指定请求头Content-Type。
PS:
一般来说,像json、xml这样格式的请求数据是必须使用消息体数据选项的。
消息体数据也适用于所有类型的请求数据的发送,包括application/x-www-form-urlencoded和 multipart/form-data
文件上传:该选项仅适用于勾选了对 POST 使用 multipart/form-data选项时。
文件名称:文件路径
参数名称:接口中用来传递文件的参数名称,一般就叫"file",具体以实际接口为准。
MIME类型:即要上传的文件类型,比如image/jpeg之类,具体以实际情况为准。
高级:
客户端实现:可选的有java和httpclient4,默认为httpclient4.
超时:分连接超时和响应超时。注意单位是毫秒。
从HTML文件嵌入资源:
一旦勾选从HTML文件获取所有内含的资源,则表示Jmeter将从http模式转换为HTML模式。
http模式:表示请求仅仅是一个http的请求,拿到http响应即结束。
html模式:表示会自动获取一个html页面中相关的静态资源。
并行下载:不勾选则是串行,勾选则是模拟浏览器的资源下载行为,并行请求静态资源,可以根据实际情况指定并行的数量。
PS:一般来说,接口测试是不需要获取html静态资源的。
性能测试角度,静态资源也主要是受到服务器的连接数和带宽的制约,一般也不建议进行测试。
网址必须匹配:URLs must match,这是用来限制静态资源的下载的,通过正则表达式的方式来进行限制。表示符合正则表达式的资源请求才会被下载。
URLs must not match:网址不匹配,这也是用来限制静态资源的下载的,通过正则表达式的方式来进行限制。表示符合正则表达式的资源请求不会被下载。
Source IP:源地址,该选项是用来实现IP欺骗的。该选项仅适用于HTTPclient4的实现,不适用于java的实现类型。
代理服务器:如果希望JMeter通过代理服务器去访问被测服务器,则可以在此处指定相关的代理服务器设置选项。
保存响应为MD5哈希:这表示不将响应直接保存到sampler result中,而是保存响应为对应32bit的MD5加密数据,该选项主要用于有大量响应数据的性能测试。
希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以私聊我或关注公众号“特斯汀软件测试”。免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
猜你喜欢
- 2024-11-08 加班用了2天,结果同事30分钟就搞定了?你和别人的差距在哪里
- 2024-11-08 下载文件工具类 文件下载工具是什么
- 2024-11-08 SMTP发送邮件 smtp发送邮件过程
- 2024-11-08 NPM 使用介绍 npm .staging
- 2024-11-08 java servlet笔记:设置编码集、文件下载和两种服务器跳转
- 2024-11-08 还不懂 HTTP 协议的吗?一篇文章讲透
- 2024-11-08 JavaScript包管理工具pnpm介绍 js importpackage
- 2024-11-08 Ajax请求时,请求类型,常用的几种 Content-Type json form-data xml
- 2024-11-08 Python教程:报表和日志精讲 python自动生成日报
- 2024-11-08 安全RCE之未授权访问分析 未授权的访问路径
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-