JMeter(四)_HTTP请求

启动JMeter——>测试计划——>添加线程组

配置元件→添加http信息头管理器

  • HTTP Header Manager(信息头管理器)
    用于定制Sampler发出的HTTP请求的请求头的内容。

  • HTTP Request Defaults(请求默认值)
    用于设置其作用范围内的所有HTTP的默认值,可被设置的内容包括HTTP请求的host、端口、协议等

  • HTTP Cache Manager(缓存管理器)
    用于模拟浏览器的Cache行为。为Test Plan增加该属性管理器后,Test Plan运行过程中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取相应的元素

  • HTTP Cookie Manager(Cookie管理器)
    用于管理Test Plan运行时的所有Cookie。HTTP Cookie Manager可以自动储存服务器发送给客户端的所有Cookie,并在发送请求时附加上合适的Cookie

HTTP信息头管理器添加好之后,需要填入信息头的名称以及对应的值,如下
HTTP信息头管理器

Sampler(取样器)→HTTP请求

HTTP请求
填入测试的服务器地址、端口、所用的户协议、方法,这里方法我用的是POST,然后填入路径,选择Body Data

关于http请求的的属性参数说明:

  • 名称:用于标识一个sample。建议使用一个有意义的名称
  • 注释:对于测试没任何影响,仅用来记录用户可读的注释信息
  • 协议:向目标服务器发送http请求时的协议,http/https,大小写不敏感,默认http
  • 服务器名称或IP:http请求发送的目标服务器名称或者IP地址,比如:www.baidu.com
  • 端口号:目标服务器的端口号,默认值为443,可不填
  • 方法:发送http请求的方法,比如POST
  • 路径:目标的URL路径(不包括服务器地址和端口)
  • Content encoding:内容的编码方式(Content-Type=application/json;charset=utf-8)
  • 自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面
  • Use keep Alive:jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信(默认选中)
  • Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用
  • Parameters、Body Data以及Files Upload的区别:
    1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数
    2. 简略描述为:parameter=形参(formal parameter), argument=实参(actual parameter)
    3. 在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少用
    4. Body Data指的是实体数据,就是请求报文里面主体实体的内容,一般我们向服务器发送请求,携带的实体主体参数,可以写入这里
    5. Files Upload指的是:从HTML文件获取所有有内含的资源:被选中时,发出HTTP请求并获得响应的HTML文件内容后还对该HTML
      进行Parse 并获取HTML中包含的所有资源(图片、flash等):(默认不选中)
      如果用户只希望获取特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,只有能匹配指定正则表达式的URL指向资源会被下载

监听器 →察看结果树

添加好监视器,点击运行,开始测试
测试结束后,如果我们的请求成功,那么结果树里面的模拟请求会显示为绿色,可以通过取样器结果里面的响应状态码信息来判断
结果树

也可以点击请求模块,查看我们发送的请求
里面有我们发送的请求的方法、协议、地址以及实体主体数据,以及数据类型,大小,发送时间等信息
请求数据

响应数据:里面包含服务器返回给我们的响应数据实体,如下图
响应数据