jemeter提取接口中的token进行数据关联

在做接口测试时,很多接口都会依赖登录中的token,所以用jemeter做接口测试时,需要怎样提取登录中的token呢?

一、添加json提取器,具体方法如下:

1.添加线程组

添加线程组

2.添加http默认信息头;由于登录接口是post请求,所以需要添加content-type,此时对应的值为application/json(选择json字符串传入值)

添加信息头

3.添加http请求

添加请求

4.添加查看树

添加查看树

5.添加后置处理json提取器

添加json提取器

JSON提取器参数说明:

1.Variable Names 参数名称

2.JSON Path expressions 提取表达式(注意表达式要写完整,否则读取不到,比如{data:{AuthonToken:.....}},这时表达式如果为$.AuthonToken,这时读取不到的,只有写为$.data.AuthonToken,这样才可以识别到而且大小写一定要对应)

3.Match Numbers匹配规则,-1所有,0随机,1第一个

Compute concatenation var 如果有匹配到多个值,选择此项,会将全部值保存到_ALL,并使用逗号分割每个值,注意Match No. (0 for Random)需要为-1才有效,不然只能匹配到一个值了

4.Default Values 没提取到就给默认值

注意一下提取问题:

提取username参数值:

JSON Path Extractor:$.list[0].username

如果提取的参数不存在父级?

$.你要提取的参数名

提取的参数存在父级

$.你要提取的参数名的父亲.你要提取的参数名

如果提取参数的父级存在父级

$.你要提取的参数名的父亲的父亲(爷爷).你要提取的参数名的父亲.你要提取的参数名

参数如果是数组?

$.你要提取的参数参数[N]

以下标的形式取值,0代表取的数组中第一个值,1代表取的是数组中第二个值,N代表取的数组中第N+1个值

6.添加另外需要token的HTTP请求,此接口是post请求,需要登录的token

添加另外一个http请求

7.添加信息头,引用提取的token变量

添加信息头读取变量token

8.添加查看树结果

添加查看结果树

二、正则表达式提取器:

方法和上面一样,只是将json提取器更改成正则提取器

正则表达式

():括起来的部分就是要提取的。 

.:匹配除换行外的任何字符串。 

+:代表+号前面的字符必须至少出现一次(一次或多次)。 

?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。 

:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次) 

(.*):贪婪模式,匹配尽可能多的字符 

(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,900评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,709评论 1 32
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,697评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,745评论 0 5
  • 从匹配中返回值 Match 对象 成功的匹配总是返回一个 Match 对象, 这个对象通常也被放进 $/ 中, (...
    焉知非鱼阅读 1,943评论 0 1

友情链接更多精彩内容