『动善时』JMeter基础 — 13JMeter发送Get请求

Posted 繁华似锦Fighting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『动善时』JMeter基础 — 13JMeter发送Get请求相关的知识,希望对你有一定的参考价值。

1、演示说明

我们在之前的文章中使用JMeter发送一个最基础的请求,已经使用JMeter发送了一个Get请求,并且介绍了使用JMeter发送一个最基础请求需要的四个要素。

测试计划要素如下

  • 要素一:脚本中要有一个测试计划,且只能有一个JMeter测试计划。(换种说法,一个测试计划就生成一个JMeter测试脚本)
  • 要素二:测试计划中至少要有一个线程组,一个线程组代表一个测试流程。
  • 要素三:至少要有一个取样器,取样器有很多种类型,例如“HTTP请求”取样器,就表示发送请求给一个接口。(表示请求的动作)
  • 要素四:至少有一个监听器,用于收集测试结果。

下面我们使用JMeter发送一个带参数的Get请求。

我们以小项目学院管理系统为例,下载地址:点击下载,里面有详细的启动配置说明和API接口文档。

接口文档如下:

1.1学院-查询所有
    请求方法:GET
    请求地址:http://127.0.0.1:8000/api/departments/

1.2学院-查询指定
    请求方法:GET
    请求地址:http://127.0.0.1:8000/api/departments/T02/
    (注:T02为学院ID)

1.3根据指定参数进行学院-List-$dep_id_list的相关查询
    请求方法:GET
    请求地址:http://127.0.0.1:8000/api/departments/?$dep_id_list=T01,T02,T03 
    (注:$dep_id_list:为参数名称;T01,T02,T03为:学院ID)

2、演示操作

(1)在测试计划中添加线程组

需要选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组,并改名“查询学院”。

如下图:

image

说明

  • setUp线程组:在线程组之前运行。
  • tearDown线程组:在线程组之后运行。

如果你还安装了其他的组件和插件的话,还会有一些其他的线程选项。

(2)在线程组中添加取样器

选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求,并改名“发送带参数的get请求”。

image

根据接口文档,编辑“HTTP请求”取样器,如下:

image

界面说明

  • 名称:对于我们来说一个HTTP请求就相当于调用一个接口。一个流程(线程组)中可以有多个接口(HTTP请求)。换句话说,在一个流程中,要访问多少个接口,就添加多少个HTTP请求。
    该名称可以修改成访问接口的名字,例如:访问百度。
  • 注释:对该HTTP请求的说明。
  • 协议(必填):写你需要使用的协议,如访问百度网站需要使用http协议或者https协议。
  • 服务器名称或IP(必填):也就是需要请求服务器的域名或者IP地址。例如访问百度网站,填写www.baidu.com。(注意此处不要加协议)
  • 端口号:有指定访问的端口号就需要填写,访问百度网站则不需要填写,会使用默认端口号,如80或者443。
  • 方法:也就是选择请求方式,我们访问百度网站,选择GET方式即可。
  • 关于参数,我们可以在直接在路径上直接编写,如/api/departments/?$dep_id_list=T01,T02,T03。也可以用下图中添加参数的方式编写,最终都会以http://127.0.0.1:8000/api/departments/?$dep_id_list=T01,T02,T03方式进行请求。注意:两种方式任选其一,不能同时使用。

注意

  • 服务器名称或IP:千万不要填http://协议。
  • 路径:开头一定不要落下/
  • 参数:参数的填写,字符串前后一定不要有空格。

(3)在线程组中添加监听器

选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树。

image

(4)最终测试计划内包含的元件

最终测试计划中的元件如下:

image

点击运行按钮,会提示你先进行保存该脚本,脚本保存完成后就直接自动的运行该脚本了。

(5)查看结果

点击察看结果树来查看该请求的结果。

image

绿色对勾表示请求成功,红色叉子表示请求失败。

3、总结

我们本例中使用取样器中的“HTTP请求”,就相当于学习取样器中的元件,因为取样器中的元件用法是类似的。也就是“HTTP请求”取样器,可以发送HTTP或HTTPS协议的请求,而“FTP请求”,可以发送FTP协议的请求,学会举一反三。

以上是关于『动善时』JMeter基础 — 13JMeter发送Get请求的主要内容,如果未能解决你的问题,请参考以下文章

『动善时』JMeter基础 — 8.取样器sampler(一)

jmeter2.13函数助手里的MD5没了

jmeter如何让请求休眠2ms

Jmeter接口测试+压力测试

jmeter中http请求出现400/415解决方案

jmeter怎么将上一请求的多个返回值作为下一个请求的请求值