当前位置 博文首页 > 繁华似锦Fighting:『动善时』JMeter基础 — 17、JMeter配置元件

    繁华似锦Fighting:『动善时』JMeter基础 — 17、JMeter配置元件

    作者:繁华似锦Fighting 时间:2021-05-22 18:21

    目录
    • 1、HTTP请求默认值介绍
    • 2、HTTP请求默认值界面
    • 3、HTTP请求默认值的使用
      • (1)用于演示的项目说明
      • (2)测试计划内包含的元件
      • (3)说明HTTP请求默认值用法
    • 4、总结
    • 5、拓展知识

    1、HTTP请求默认值介绍

    我们在JMeter中编辑测试计划时,如果有多个Sampler(取样器)请求中,参数和设置都是相同的,例如请求服务的IP地址、协议、端口号等,这些信息重复的配置在每个Sampler中,就会增加重复工作量和冗余度,如果以后项目服务器地址发生改变,修改起来也是非常麻烦的。

    HTTP请求默认值(Http Request Defaults)这个配置元件,可以将这些重复的配置都放在一起,其他的Sampler请求元件就不需要再配置这些重复的内容,那么只要将这些信息留空,这个字段将自动继承HTTP请求默认值组件中的值,达到了一次配置重复调用的效果。

    2、HTTP请求默认值界面

    配置元件中的HTTP请求默认值HTTP Request Defaults)界面,和取样器中HTTP请求(HTTP Request)基本相同。

    添加HTTP请求默认值组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值

    界面如下图所示:

    image

    提示:因为HTTP请求默认值组件的界面和HTTP请求组件的界面基本相同,所以在这里就不进行说明了。如果想查看HTTP请求默认值组件界面的详细说明,请看前面取样器的相关博客:文章直达。

    3、HTTP请求默认值的使用

    (1)用于演示的项目说明

    Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service项目,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。

    Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookieipheaders 和登录验证等。

    Httpbin接口地址:http://httpbin.org/

    提示:按照规则请求http://httpbin.org/,会返回发送请求报文的完整内容。

    具体可查看https://www.cnblogs.com/liuyuelinfighting/p/14788860.html文章,有详细说明。

    (2)测试计划内包含的元件

    添加元件操作步骤

    1. 创建测试计划。
    2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
    3. 在线程组中,添加配置元件"HTTP请求默认值"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值
    4. 在线程组里面,添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
    5. 在线程组里面,添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

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

    image

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

    (3)说明HTTP请求默认值用法

    我们需要把每个请求的公共参数,提取到HTTP请求默认值组件中。

    如下图所示:

    image

    然后在每个请求的元件中,编辑自己独有的信息即可。

    例如,编写每个请求中独有的访问路径,和所需的传递参数等。

    如下图所示:

    image

    而在HTTP请求默认值组件中配置的参数,在这里都不用重复填写,留空就可以,会自动的继承HTTP请求默认值组件中的配置。

    如果此时请求取样器中填写了和HTTP请求默认值组件中配置相同的选项,则以当前取样器的配置为准。

    (其他请求同理)

    4、总结

    配置元件中的HTTP请求默认值HTTP Request Defaults)界面,和取样器中HTTP请求(HTTP Request)基本相同,所以该组件可以为HTTP请求设置默认值。

    优先级说明

    1. JMeter支持在一个测试计划中添加多个HTTP请求默认值组件,多个HTTP请求默认值组件中的值会合并叠加。
    2. 在相同作用域内,若有多个HTTP请求默认值组件,如果配置了相同的选项,默认使用第一个HTTP请求默认值组件中定义的信息。

    5、拓展知识

    这里我们拓展一下配置元件中用户定义的变量User Defined Variables)组件的用法。

    用户定义的变量组件和HTTP请求默认值组件的用法基本一样。

    • HTTP请求默认值组件:管理测试计划中相同的请求配置,作用域范围内的sample请求无需重复配置。
    • 用户定义的变量组件:管理测试计划中不相同的请求配置,其他的Sample请求直接引用变量即可,方便对变量的统一管理。

    参考:https://blog.csdn.net/m0_38039437/article/details/104112804

    bk