JMeter 配置全局變量及動態(tài)獲取用戶校驗并添加到HTTP Header
對于測試腳本,可能換多個環(huán)境進行測試,如果每次換環(huán)境都要給每一個請求配置ip和端口有些多余,于是可以通過配置全局變量,解決該問題,實現(xiàn)一次修改即可。
創(chuàng)建Bean Shell Sampler:

配置全局變量:${__setProperty(url,192.168.4.98,)}

完成全局變量的配置后,使用${__property(url)}進行引用
接下來是token的動態(tài)獲取配置,在此之前有一個坑:在請求token時要為其加一個HTTP Header,配置媒體格式,不然請求會報media error。

訪問登錄校驗的接口,獲得token:

在結(jié)果樹中可以看到返回的token信息:
{"token":"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJJZCI6IjAiLCJuYW1lIjoi566h55CG5ZGYIiwicm9sZXMiOiJbMSwgMiwgM10iLCJleHAiOjE1Njg4OTExODl9.i95Z3T4Z8yfqWAvllmfi1-kypQOJkCd-BVvKzDvhsrAupy1F_tiQNqu53NB_1O2AXfPIgxxEtLNoovN6MYZV1ILGUy2lCAWH3nL3Iz8AApY8jgGxdII8Ap9RlE0O5lViXITSGZctcEosn0_kHGd6Ls-xIVHMB1b06_V0PMmKwfc"}
添加一個Regular Expression Extractor 使用正則表達式獲取token:


再為之后要執(zhí)行的請求加一個同級的HTTP Header即可,通過${token}獲得token

jmeter設(shè)置全局變量與正則表達式提取器
接口測試中,很多接口都要帶上登錄后的token才能正常發(fā)送請求,這里記錄一下登錄獲取token設(shè)置為全局變量供其他接口使用
登錄后返回信息信息中會有一個token值,添加后置處理器中的正則表達式提取token,然后用后置處理器中的BeanShell PostProcessor設(shè)置token為全局變量
1、獲取token值:
1.1、用fiddler抓包
1.2、F12查看接口信息
1.3、用jmeter登錄查看

2、正則表達式提取token:

3、BeanShell PostProcessor設(shè)置token為全局變量:

4、其他接口使用該全局變量:
添加http信息頭管理器

正則表達式提取器提取多個值
下一個接口的參數(shù)中需要用到前面某一接口返回數(shù)據(jù)中的值,因此通過正則表達式提取器來取得該值

$1$,$2$,$3$ 表示同時匹配第一個,第二個和第三個模板的數(shù)據(jù)
匹配數(shù)字:這里填寫1,表示每個模板值獲取第一個匹配的數(shù)據(jù)

${id_g1}獲取第一個模板匹配到的數(shù)據(jù)?
${id_g2}獲取第二個模板匹配到的數(shù)據(jù)
${id_g3}獲取第三個模板匹配到的數(shù)據(jù)
本文來自博客園,作者:熱愛技術(shù)的小牛,轉(zhuǎn)載請注明原文鏈接:http://www.rzrgm.cn/my-blogs-for-everone/articles/12777878.html

浙公網(wǎng)安備 33010602011771號