如何在Sampler Header中使用正则表达式提取器进行api令牌提取

时间:2019-04-09 11:55:53

标签: jmeter

我使用查看结果树接收  结果标签

 POST data: auth-token=%24%7BBEARER%7D&mobileNumber=919106606909

这对我来说是新的,我尝试了一些常规表达式,例如auth-token:(。*),auth-token:(。+?)

实际结果

POST https://api.test.parkitup.com.au/api/v1/changeMobileNumber

POST data:
auth-token=%24%7BBEARER%7D&mobileNumber=919106606909

[no cookies]

Request Headers:
Connection: keep-alive
Content-Type: application/json
Accept: application/json
Content-Length: 52


Expected 

auth=token= eyJhbGciOiJIUzI1NiJ9.eyJwYXJraXR1cC11c2VyLXV1aWQiOiI2NjZiNjViMy02YTA2LTRmOGQtYWNkMi0yZDM2ZTcxNmExYTMiLCJwYXJraXR1cC11c2VyIjp7InVzZXJJZCI6MywidXNlclV1aWQiOiI2NjZiNjViMy02YTA2LTRmOGQtYWNkMi0yZDM2ZTcxNmExYTMiLCJtb2JpbGVOdW1iZXIiOiI5MTk4NzkwODI4MzgiLCJvdHBIaXN0b3J5IjpbXX0sInBhcmtpdHVwLXVzZXItaWQiOjMsImV4cCI6MTU1ODY5NzgxMzQ2N30.tjZ_zJaaMArzT_MPr6oCpazh-q2gfztLRP10Pz5CE3A

Response of Token

Regular Expression Extractor

1 个答案:

答案 0 :(得分:1)

根据ASCII Encoding Reference,如果我们查看发布数据中的auth-token=%24%7BBEARER%7D,就会发现

  • 字符“ $ ”被编码为“ %24
  • 字符“ {”被编码为“ %7B
  • 字符“ } ”被编码为“ %7D

因此,从您的帖子数据中可以明显看出,您是在启用编码的请求下发送参数的。但是该变量以前没有定义。 变量“ BEARER”必须在正则表达式提取器中定义。

如果您使用过正则表达式提取器,则将Reference Name用作请求中的变量,然后将“ BEARER”设置为“ ${BEARER}”。