jmeter随记3:常用jmeter功能(附带场景)

常用jmeter功能(附带场景)

      • 一、jmeter其他特性
        • 1、请求的接口有多个 且 域名相同
        • 2、 jmeter支持统一管理参数的设置
          • a、创建HTTP Header Manager
          • b、用户定义参数
          • c、csv数据文件设置
        • 3、接口a的返回值作为 接口b的入参
          • a、 `json`提取器
          • b、 正则表达式
        • 4、if controller
          • 场景1 ,满足一定条件,会触发调用某(些)接口

一、jmeter其他特性

1、请求的接口有多个 且 域名相同

可以写到http请求默认值里【主要填写的部分:通讯协议,请求的内容编码,服务器域名】;
创建路径:在 testplan 右键 add-> Config Element -> HTTP Request Defaults
内容面板数值设置示例:

这样http请求就不需要写域名了,只需要写请求方式和请求路径及入参
jmeter随记3:常用jmeter功能(附带场景)_第1张图片

2、 jmeter支持统一管理参数的设置

a、创建HTTP Header Manager

创建路径: 在testplan 右击 add -> Config Element -> HTTP Header Manager
内容设置:他的设置是key,value的形式 ,调用http请求的时候,你可以把这个对象看作是工具,定义在testplan里,作为全局变量
使用场景:用户鉴权信息需要作为全局变量供其他接口使用

详述:
当接口要做用户鉴权(BeanShell PreProcessor,此处定义在http请求上)
鉴权代码样例
jmeter随记3:常用jmeter功能(附带场景)_第2张图片
定义的http 头信息管理器界面
jmeter随记3:常用jmeter功能(附带场景)_第3张图片

b、用户定义参数

创建路径:在testplan右键 add-> Config Element ->User Defined Variables
赋值方式为 key,value 的形式
适用场景:可以在这里定义一些商品ID,skuid 等等,便于其他接口作为入参去调用
大概长这个样子:
jmeter随记3:常用jmeter功能(附带场景)_第4张图片

使用场景1:
用户参数变量的应用包括但不局限于http接口请求参数
http接口请求要用到的变量值:
在这里插入图片描述
添加购物车:

使用情况2:
请求路径带变量 ,eg:如 www.baidu.${a} ,a的值为com
jmeter可以通过在用户变量参数设置值,然后在这里获取使用。

c、csv数据文件设置

创建路径:在testplan 右键 add->Config Element -> CSV Data Set Config
界面参数参看:
最后一列Sharing mode ,是可以指定csv文件数据的作用域的,值域:All threads ,Current thread group ,Current thread,Edit【此项为作用域的可扩展项设置】

文件内容参看:即文件里的内容只有数据项,没有变量名称的指定
jmeter随记3:常用jmeter功能(附带场景)_第5张图片
以上几种定义变量的方式,可以用: ${变量名} 的形式来取值。

至于是全局还是局部,看定义的位置和设置参数作用域范围

3、接口a的返回值作为 接口b的入参

a、 json提取器

创建路径:在http请求上面右键 add ->Post Processors ->JSON Extractor
jmeter实现它的作用:上一个接口返回值是其他接口的入参
界面数值的设置:下图创建变量名为token ,则引用的地方可以写${token}

ps : 如果是对象的话,可以直接取值 $.data.字段
如果是数组,$.data[0].字段

  • 场景1:下单接口的订单号,作为查询物流信息接口的入参
    此处可以用jmeterjson提取器来实现接口间传值,创建json提取器:

  • 场景2:用户登陆后返回的token ,修改用户手机号的时候http信息头管理器需要用到token信息。

    引用:
    jmeter随记3:常用jmeter功能(附带场景)_第6张图片

  • 场景3 a接口返回值为数组里的字段值是b接口需要的
    接口返回值的层级结构:想获取id
    jmeter随记3:常用jmeter功能(附带场景)_第7张图片
    json提取器的值 :$.data.order[0].merchant.id

b、 正则表达式

创建路径:add->Post Processors -> Regular Expression Extractor
界面数值设置:"cartId":"(.+?)"
关于正则此处不做过多解说,想了解可以参看:jmeter正则

取值的地方:
jmeter随记3:常用jmeter功能(附带场景)_第8张图片

4、if controller

创建路径:在线程组右键 add->Logic Controller -> If Controller

场景1 ,满足一定条件,会触发调用某(些)接口

这里只是简单的逻辑控制器的使用,想了解更多可以参看:jmeter逻辑控制器
jmeter随记3:常用jmeter功能(附带场景)_第9张图片
逻辑控制器还可以嵌套
jmeter随记3:常用jmeter功能(附带场景)_第10张图片

想了解更多可参看
jmeter的官网
想了解的同学可以关注官网的这部分内容jmeter随记3:常用jmeter功能(附带场景)_第11张图片

你可能感兴趣的:(关于测试,jmeter)