如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

HTTP Request 介绍

用来发送 HTTP、HTTPS 协议请求

HTTP Request 界面

字段名 作用 默认值
名称 不多介绍啦,建议自定义一个识别度高的名称  
注释 对于测试没有任何影响,仅记录作用  
协议 http或https,大小写不敏感 http
服务器名称或IP
  • 服务器 host 或者 ip,不包括协议
  • 比如:www.baidu.com、192.168.196.128
 
端口号 目标服务器的端口号 80
方法 发送 http 请求的方法 GET
路径
  • 目标请求的 URL 路径
  • 不包括协议、host、ip、端口
 
内容编码 请求的编码方式 iso8859
自动重定向
  • 发出的请求的响应码是3**,会自动跳转到新目标页面
  • 只记录最终页面的返回结果
不勾选
跟随重定向
  • 和自动重定向唯一不同的是:
  • 会记录重定向过程中的的所有请求的响应结果
勾选
使用 KeepAlive
  • jmeter 和目标服务器之间使用 Keep-Alive 方式进行 HTTP 通信
  • 真正做性能测试强烈建议不勾选
勾选
对POST使用multipart/form-data post 请求需要上传文件时勾选 不勾选
与浏览器兼容的头 当勾选 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 编码结果是 %

URL 编码的栗子

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

include equals 的栗子

参数值为空,且勾选 Include equals

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

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

Body Data 讲解

  • 没啥好说的,传 json 字符串就行了,注意下格式,后面再讲具体栗子
  • 不过倒有个重点:如果 Parameters 有参数列表的话,是无法切换到 Body Data 的哦

Files Upload 讲解

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

常见资源媒体类型

类型 文件后缀 格式
超文本标记语言文本 .html text/html
普通文本 .txt text/plain
XML 文件 .xml text/xml
PNG 图片 .png image/png
GIF .gif image/gif
JPEG 图片 .jpeg、jpg  image/jpeg
类型 文件后缀 格式
表单中进行文件上传   multipart/form-data
表单默认提交数据的格式   application/x-www-form-urlencoded
XML 数据格式   application/xml
JSON 数据格式   application/json
 RTF 文件 .pdf  application/pdf
RTF 文本 .rtf application/rtf
GZIP 文件  .gz application/x-gzip
TAR 文件 .tar application/x-tar
AVI 文件 .avi  video/x-msvideo
MPEG 文件 .mpg、.mpeg video/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 传递参数哦,会无法识别到参数,已实践过(即使加了 HTTP请求头也不行),乖乖用 Parameters 的方式传参

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 match URL 匹配过滤,填写此项则只会下载与此内容项匹配的 url 的资源

Source address

只用于 HTTP协议且 implemention = HttpClient4 时

字段 描述
IP/Hostname IP /主机名以使用特定的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 代理服务器的密码

Jmeter系列(21)- 详解 HTTP Request的更多相关文章

  1. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  2. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

  3. PHP输出缓存ob系列函数详解

    PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...

  4. Jmeter 测试计划元素详解

    Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...

  5. jmeter --响应断言详解

    jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...

  6. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  7. SignalR新手系列教程详解总结(转)

    SignalR新手系列教程详解总结 GlobalHost.ConnectionManager.GetHubContext<TodoListHub>() .Clients.Clients(l ...

  8. 猫哥网络编程系列:详解 BAT 面试题

    从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...

  9. 『动善时』JMeter基础 — 29、JMeter响应断言详解

    目录 1.JMeter断言介绍 2.响应断言组件界面详解 3.响应断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)响应断言界面内容 (4)查看运行结果 (5)断言结果组件 ...

  10. 『动善时』JMeter基础 — 54、JMeter聚合报告详解

    目录 1.聚合报告介绍 2.聚合报告界面详解 3.聚合报告中信息点说明 (1)百分位数的说明 (2)吞吐量说明 提示:聚合报告组件的使用和察看结果树组件的使用方式相同.本篇文章主要是详细的介绍一下聚合 ...

随机推荐

  1. [批处理教程之Shell]002.Linux 常用命令大全

    这一次收集的是比较基础的 Linux 命令,其实 Linux 命令未必每个都要记住,只要在用到时能查阅到需要的命令的用法. 系统信息 *.显示机器的处理器架构(1)arch *.显示机器的处理器架构( ...

  2. python常见面试题讲解(十)数字颠倒

    题目描述 描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述: 输入一个int整数 输出描述: 将 ...

  3. discuz mlv3.x命令注入

    本次漏洞是由于Discuz! ML对于cookie字段的不恰当处理造成的cookie字段中的language参数未经过滤,直接被拼接希尔缓存文件中,而缓存文件随后被加载,造成代码执行. 共有60出利用 ...

  4. 脚本:Tomcat日志切割

    Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...

  5. Spring boot Sample 002之spring-boot-banner

    一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 学习Spring Boot Banner自定义的操作   三.步骤 3.1.点击File -> New Project ...

  6. Vue3.0+ElementUI打包之后,为什么部分页面按钮图标找不到

    有的页面可以显示这个按钮,有的页面不可以,找了好久,看这都webpack路径问题,到但是我这个没有webpack,没有build文件夹,最后发现是因为没有绑定点击事件 加上这个之后就好了

  7. Chisel3 - bind - Data

    https://mp.weixin.qq.com/s/ENJVkz88sGgyODRNCu9jhQ   介绍Data类中的binding的定义和用法.   Binding stores informa ...

  8. TI CC1310 sub1G的SDK开发之入门

    CC1310是TI新出的一款sub1G射频模块,具体参数见数据手册吧,这款芯片的SDK跑的是rtos系统,是基于free-rtos定制的ti-rtos,多任务运行.芯片集成了两个核,一个M3做控制MU ...

  9. Java实现 蓝桥杯 算法提高 进攻策略加强(暴力)

    试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要 ...

  10. Java实现 LeetCode 541 反转字符串 II(暴力大法)

    541. 反转字符串 II 给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转.如果剩余少于 k 个字符,则将剩余的所有全部反转.如果有小于 2k 但大于或 ...