JMeter之 HTTP 请求默认值和用户自定义变量

  很久没有使用 JMeter 了,今天再看一下,发现了新的用法,很好用,能提高工作效率,在这里分享一下。

JMeter 同时进行多个接口请求

  如上图所示,我们有时候需要在一个线程组内同时进行多个 HTTP 请求(比如 HTTP 请求1、HTTP 请求2、HTTP 请求3),在这些请求中有一些共同的参数,比如“服务器名称”、“端口号”、“HTTP 请求方法”、“路径”等等。如上图我们有三个请求,如果输入三次完全相同的参数,会显得很繁琐,既然都一样,那么我们可不可以只写一次,三次请求共用这些参数呢?其实是可以的。

  我们可以使用【配置元件】中的【HTTP 请求默认值】,将这些相同的参数全都写在“HTTP 请求默认值”里,这样在其作用域下的 HTTP 请求都会使用默认的 HTTP 请求。如果需要修改,我们也只需要修改这一处就可以了。

  那么,问题来了。这样写,就要求我们所有的请求都是一样的,万一有一个请求不一样呢,比如“请求方法”不同,或者“路径”不同等等。而我们又想一次请求,怎么办呢?

  对于多个相同点中的“另类”我们需要特殊对待。比如说,上图中的“HTTP 请求3”中的“路径”和其他两个不同,那么我们就在“HTTP 请求3”的路径中输入该请求正确的路径就可以了。

这里我们要思考一个问题?

问:什么时候“HTTP 请求默认值”的参数有效,什么时候请求本身自己的参数生效呢?

答:当请求没有输入请求参数时,默认值生效;当请求输入了自己的参数值,那么此时不在使用默认值,而使用请求参数自己的值。
通俗点说就是“当我自己没有的时候我用默认值,当我有的时候我就用我自己的值”。


下面我们介绍另一个超实用的配置元件:用户定义的变量。

  很多请求中我们都需要传入相应的参数(parameters),比如上图所示的三个 HTTP 请求,我们都需要传入参数分别为:{key,value1}、{key,value2}、{key,value3}。如果我们有10个或者更多个请求,我们需要对每一个请求的参数进行输入,如果后期需要修改,我们又需要对每一个进行修改,不仅繁琐,还有可能会遗漏或者出现错误。
如果我们能够把这些变量都在一个页面进行统一的管理,是不是就会方便了很多呢?

用户定义的变量

  就比如上图,我们把3个 HTTP 请求的参数都定义在配置文件【用户定义的变量】中,一目了然。“HTTP 请求1”使用的是第一个参数{key1,value1}、“HTTP 请求2”使用的是第二个参数{key2,value2}......
如果请求想要修改参数值,那么我们可以直接在该配置文件修改即可?

  我们在这里定义了这些参数变量,那么,这些请求如何调用呢?

变量调用

调用参数值,也很方便,只要使用符号${变量名}即可在需要的地方调用该参数值。

如果我们需要修改请求的参数值,就可以直接在【用户定义的变量】这个配置元件中统一修改。

推荐阅读更多精彩内容

  • Nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序...
    SkTj阅读 2,912评论 0 7
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 8,597评论 1 27
  • 试读内容简介 五百万买下这个女人,实在太划算了! 她不只清纯美丽,才华洋溢 而且还极有成为惹火魔女的天分 任何床上...
    轻轻de卿卿阅读 181评论 0 0
  • 本篇只有两个角色 for 和 switch 一、for 与其他语言相比,存在一些轻微的差异 布尔值或布尔表达式位...
    黑键手记阅读 36评论 0 0
  • 本周是电影季的第一次课,由常春藤组讲《叫我第一名》这部电影。上场的四位小伙伴各有两点,关键是她们分工合作得非常精彩...
    戚贤阅读 142评论 0 0