jmeter接口测试流程

article/2025/9/24 21:36:50

目录

一、添加线程组

二、添加HTTP请求默认值

三、添加HTTP Cookie管理器

四、添加http请求

五、添加HTTP信息头管理器

六、添加响应断言

七、添加察看结果树

八、jmeter快捷键 


一、添加线程组

  1. 鼠标右键点击“测试计划-->添加-->线程组(用户)-->线程组”,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”;
  2. 设置线程数:线程数即虚拟用户数,每个线程将会完全独立的运行测试计划,互不干扰,多个线程用于模仿对服务器的并发访问;接口测试中一般设置为1个“线程数”;
  3. 设置ramp-up 时间:设置虚拟用户数全部启动的时长;如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程,也就是平均每秒启动2个线程;
  4. 设置循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

 图 1 线程组--元件位置

图 2 线程组--相关参数

二、添加HTTP请求默认值

        HTTP请求默认值可以对同级别HTTP请求设置默认域名、路径、传参等。如果HTTP请求的值与请求默认值冲突,以HTTP请求为主。

       使用场景:为一组访问同域名的请求设置HTTP请求默认值,避免每个HTTP请求都设置同样的参数。修改时也更方便。

  1. 鼠标右键点击“测试计划-->添加-->配置元件-->HTTP请求默认值”;
  2. 填写域名、路径,设置传参。

图3 HTTP请求默认值--元件位置

图 4 HTTP请求默认值--相关参数

三、添加HTTP Cookie管理器

        HTTP Cookie管理器像Web浏览器一样存储和发送Cookie。如果HTTP请求响应包含cookie,则Cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求,每个jmeter线程都有自己的“cookie存储区”。如果手动将Cookie添加到Cookie管理器,cookie将由所有jmeter线程共享。

  1. 鼠标右键点击“测试计划-->添加-->配置元件-->HTTP Cookie管理器”;
  2. 填写Cookie键,Cookie值,Cookie作用的域。(手动添加Cookie时填写)

图 5 HTTP Cookie管理器--元件位置 

图 6 HTTP Cookie管理器--相关参数

四、添加http请求

     一个http请求指的是从客户端到服务端的请求信息。

  1. 鼠标右键点击“线程组-->添加-->取样器-->HTTP请求”;
  2. 填写服务器协议、域名或IP地址、端口号、请求类型、路径、参数等。(HTTP请求默认值已设置的参数不填写,可直接调用)
  3. 自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面
  4. 使用keep Alive:jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信。(默认选中)

图 7 HTTP请求--元件位置

图 8 HTTP请求--相关参数

  • 注意事项

(1)常用请求方法

get:从指定的资源请求数据。(把参数包含在URL中)

post:向指定的资源提交要被处理的数据。(通过request body传递参数将请求整体提交给服务器)

(2)参数化方式

       一般来说,Get请求用Parameters。

       Post请求,根据post请求数据的格式,分两种情况:map格式、json格式。当post请求数据为map格式,即参数名、参数值为key-value键值对,请求的参数添加在Parameters参数表中即可;post请求数据为json格式时,将json格式的请求数据加入到http请求BodyData中。(json规则:缩进一定要准确,参数名与值要用””包住,并用英文逗号隔开,在这里也可以引用其他接口的出参,格式如其它接口一样“${参数名}”,最后一组参数不要加逗号

       由于POST请求方式,如果不设置Headers的content-type,基本默认会以 application/x-www-form-urlencoded 方式提交数据。为了Post请求确保传的是json格式,还需要在HTTP信息头管理器中设置:Content-Type为application/json。

(3)Content-Type方式

content-type:  application/x-www-form-urlencoded

       如果不指定content-type,默认使用此格式。

       参数可以在Parameters或Body Data里输入(只能使用其中一个),格式不同。

       传参格式:key1=value1&key2=value2

content-type:  application/json

       要添加http信息头管理器(Content-Type为application/json),在http请求中的“BodyData”中输入参数。

传参格式

{

 "key1":"value1",

 "key2":"value2"

}

      注:数据类型为list格式时,不需要参数名称,直接在“BodyData”中输入:[“value1”,”value2”,”value3”]

form-data(很少用到)

       在http请求中一定要勾选“use multipart/from-data for POST”,Parameters中输入除了上传的文件以外的参数:参数名和参数值,Files Upload中上传文件,参数名和MIME类型。

       传参格式:name="XXXX";value="XXXX"

(4)参数中有中文时,需要将编码方式配置为:utf-8,参数行勾选编码。

五、添加HTTP信息头管理器

       用于定制HTTP请求的请求头内容,在请求需要一些验证信息时使用的较多,在http请求之前添加一个HTTP信息头管理器,将所需的头信息以键值对的方式添加进去,能够更真实的模拟该接口的访问,在后边的HTTP请求发送时则将使用该管理器中的header信息。

       注:同一作用域下,不论添加多少个信息头管理器, 只会取第一个管理器的值, 不合并

       示例:接口文档中content-type为:application/json时,需要配置HTTP信息头管理器,并且参数要在消息体数据中输入。并且配置的信息头管理器一定要放在各自的http请求下,不要放在总线程下,不然格式不同时,不能共用,就会容易出错。

  1. 鼠标右键点击“http请求-->添加-->配置元件-->HTTP信息头管理器”;
  2. 填写信息头名称和值。

图 9 HTTP信息头管理器--元件位置

图 10 HTTP信息头管理器--相关参数

六、添加响应断言

      响应断言可以对服务器的响应接口进行断言校验,来判断接口测试得到的接口返回值是否正确。

  1. 鼠标右键点击“http请求-->添加-->断言-->响应断言”;
  2. apply to:通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了;
  3. 测试字段:一般的http响应,都勾选“响应文本”;
  4. 模式匹配:包括(返回结果包括你指定的内容,支持正则匹配),匹配和相等(效果相同,当返回值固定时,可以返回值做断言),字符串(与 “包括”差不多,都是指返回结果包括你指定的内容,但是不支持正则字符串);
  5. 测试模式:输入结果期望值(空格要去掉,与响应数据对应)。

图 11 响应断言--元件位置

图 12 响应断言--相关参数

七、添加察看结果树

      添加察看结果树可以看到请求的发送和返回信息,判断返回的请求是否正确。

      http响应指的是从服务端到客户端的响应消息,包括响应状态码,响应头,响应报文。

  1. 鼠标右键点击“线程组-->添加-->监听器-->察看结果树”;
  2. 执行测试后,就可以在察看结果树里看到详细请求信息;
  3. 查看结果树中执行成功的请求在左侧会显示绿色,执行失败会显示红色。(当我们没有加断言时,显示绿色并不一定就是成功了,只代表响应码是200或300系列,显示红色说明响应码是400或500系列,所以要想确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色)

图 13 察看结果树--元件位置

图 14 察看结果树-相关参数

八、jmeter快捷键 

快捷键

功能

备注

Ctrl+C

复制

可复制组件

Ctrl+V

粘贴

可粘贴组件

Ctrl + Shift + C

复制粘贴当前组件到下一行

Ctrl + R

运行测试计划

Ctrl + E

清空运行结果

Ctrl + T

启用/禁用当前组件

可以多选

Ctrl + F

全文搜索

一般用来搜索组件, 搜索完成后可点击Search -> Reset Search恢复

Ctrl + -

全部收起

“-“为主键盘的减号

Ctrl + Shift + -

全部展开

“-“为主键盘的减号

Ctrl + G

当前节点截屏

Ctrl +0

创建线程组

Ctrl +1

新增HTTP请求

Ctrl +2

正则表达式提取器

Ctrl +3

响应断言

Ctrl +4

固定定时器

Ctrl +5

测试活动

Ctrl +7

JSR223 预处理程序

Ctrl +8

调试取样器

Ctrl +9

察看结果树


http://chatgpt.dhexx.cn/article/K1NDcXp3.shtml

相关文章

用Jmeter进行接口测试

web接口测试工具: 手工测试的话可以用postman ,自动化测试多是用到 Jmeter(开源)、soupUI(开源&商业版)。 下面将对前一篇Postman做接口测试中的接口用Jmeter来实现。 一、Jmeter 的使用步骤 打开Jmeter 安装包,进入\bin 中,找到"jmeter…

JMeter接口测试入门

目录 JMeter接口测试 前言 一、JMeter简介二、JMeter的安装及部署 1.JMeter下载/安装 2.JAVA下载/安装 三、启动JMeter 四、JMeter常用组件介绍 五、JMeter接口测试基础入门 前言 什么是接口测试? 接口测试实际上就是功能测试,可以不…

Jmeter之接口测试

1. 添加token和Cookie 其他业务都是依赖于登录成功而执行的。所以获取登录成功后的token和Cookie。结合Fidder或者wireshark进行抓包。 1.1 添加token方法 添加“HTTP token管理器”,添加正则表达式,并在需要token的地方进行引用即可。如下图&#xf…

2022全网最全最细的jmeter接口测试教程以及接口测试流程详解— 使用JMeter发送一个请求

当我们第一次打开JMeter的时候,树形标签栏中只有一个“测试计划”。 如果想要发送一个请求,需要操作如下步骤:(最基础的一个请求) 步骤1:创建一个测试计划 打开JMeter会默认有一个创建好的测试计划。 一个…

Jmeter之接口测试流程详解

前言 今天笔者呢,想给大家聊聊Jmeter接口测试流程详解,废话不多说直接进入正题。 一、jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以; Jmeter采用多线程,允许通过多个线…

JMeter接口测试

目录 基础 一.接口测试分类 二.目前接口架构设计 三.市面上的接口测试工具 四.Jmeter简介,安装,环境变量配置 五.Jmeter目录介绍 六.Jmeter常用组件 七.Jmeter执行接口测试 执行接口测试 1、新建线程 2、配置元件 3、取样器 实战&#xff1…

Jmeter接口测试流程详解(中科软测认证中心)

1、jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以; Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。 2、jmeter安装 首先需要安装jdk(最好是最…

ashx文件使用

sky.chen ashx文件使用 在项目开发中,只要用到ajax,一般都少不了使用vs的一般处理程序(ashx文件),下面详细介绍下该文件: 一般处理程序(HttpHandler)是NET众多web组件的一种,ashx是其扩展名。一个httpHandl…

ashx文件和HttpHandler

ashx文件和HttpHandler ashx 文件用于写web handler的。.ashx必须包含IsReusable. 如下例所示。}.ashx比.aspx的好处在与不用多一个html 注意了VS2005中Web应用程序项目模板里的Generic Handler 项,发现它是一个.ashx文件,实际上它是一个HttpHandler。利…

*.ashx文件

*.ashx文件 .ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你专注于编程而不用管相关的WEB技术。.ashx必须包含IsReusable. 如下例所示 <% webhandler language"C#" class"AverageHan…

[ASP.Net ]利用ashx搭建简易接口

创建接口的方式有很多&#xff0c;像是Web api,nodejs等等 今天&#xff0c;主要介绍&#xff0c;利用ashx的方式&#xff0c;来搭建一个简易的api 首先&#xff0c;利用VS编辑器&#xff0c;创建一个空的web应用程序 生成的项目文件 为此程序&#xff0c;添加一个新项&a…

孚盟云 AjaxMethod.ashx SQL注入漏洞

漏洞描述&#xff1a; 孚盟云 AjaxMethod.ashx文件存在SQL注入漏洞&#xff0c;攻击者通过漏洞可获取服务器权限。 漏洞利用条件: / 漏洞影响范围&#xff1a; / 漏洞复现&#xff1a; 1.登录页面 2.poc&#xff1a;/Ajax/AjaxMethod.ashx?actiongetEmpByname&Name…

.ashx 解析

.ashx 文件用于写web handler的。当然你完全可以用.aspx 的文件后缀。使用 .ashx 可以让你专注于编程而不用管相关的WEB技术。 .ashx必须包含IsReusable. 如下例所示 <% webhandler language"C#" class"AverageHandler" %> using System; using Sys…

再续.ashx

.ashx 文件用于写web handler的。当然你完全可以用.aspx 的文件后缀。使用 .ashx 可以让你专注于编程而不用管相关的WEB技术。 .ashx必须包含IsReusable. 如下例所示 <% webhandler language"C#" class"AverageHandler" %> using System; using Sys…

ASH

我们可以用第三方工具监控数据库&#xff0c;如toad&#xff0c;spotlight&#xff08;我用的是这个&#xff0c;还不错&#xff09;&#xff0c;但是oracl提供的监测数据的工具不可忽视&#xff0c;学会应用会给监控数据带来便捷。下面介绍ASH. ASH:active session history 我…

一般处理程序.ashx

在前面那篇有关智能提示的推荐文章中&#xff0c;作者用到了.ashx文件和jQuery。 说句实话&#xff0c;对于.ashx当时还真是第一次听说&#xff0c; …… 为了弥补自己知识上的缺陷&#xff0c;在网上恶补了一下&#xff0c;终于对此类文件有了一个初步的认识&#xff0c;特别…

一般处理程序.ashx的应用

利用“一般处理程序”。如果你实用的是vs2005你在添加新项中可以见到“一般处理程序”&#xff0c;它的后缀名为.ashx。它是什么&#xff1f;其实它和.aspx很类似。先问问.aspx是如何工作的&#xff1f;也许你知道&#xff0c;.aspx能处理来自外部传入的请求&#xff0c;然后它…

ashx一般处理程序

.NET里面webform的后缀是aspx WCF和WebService的后缀是asmx 然后今天拿到一个客户端代码&#xff0c;调用服务端&#xff0c;服务端后缀是ashx瞬间傻蛋了&#xff0c;.NET我不知道的组件真多。 四个疑问&#xff1a; 1、什么时候用 2、优缺点 3、简单实现机制 4、简单DEM…

ashx和aspx的区别

ashx是什么文件? .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似&#xff0c;可以通过它来调用HttpHandler类&#xff0c;它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。 .ashx文件适合产生供浏览器处理的、不需要回发处理的…

ashx 文件怎么用

本文导读&#xff1a;ashx是什么文件,如何创建 .ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。.ashx文件类似于.aspx文件&#xff0c;可以通过它来调用HttpHandler类&#xff0c;从而免去了普通.aspx页面的控件解析以及页面处理的过程。 一、ashx文件的添加 打…