一、前言
前面講了如何使用正則表達式提取值,一般提取的值在同一個線程里,隨意哪個請求都是可以引用的,那如果別的線程組也想引用怎么辦呢?這時就涉及到一個全局變量的知識點了,話不多說,直接實例走起。
二、實例演示
1、在【登錄】線程組的[統一登錄]請求下,右鍵>添加>后置處理器>正則表達式,把統一登錄成功后的響應結果里的token用正則表達式提取出來,引用名稱是“token”。
表達式規則寫法為:"token":"(.*?)"

2、在【登錄】線程組,右鍵>添加>取樣器>BeanShell 取樣器,將提取的token設置為全局變量newtoken。
Script的寫法為:${__setProperty(newtoken,${token},)}

3、在【xx系統】線程組,右鍵>添加>前置處理器>BeanShell PreProcessor,將全局變量newtoken拿過來賦值給token
Script的寫法為:
String a1=props.get("newtoken");
vars.put("token",a1)

4、好的,以上終於完事了,可以在【xx系統】線程組安心地引用token了,如下:

5、最后運行調試如下:(因涉及到信息安全問題,所以就大概截了下圖)
1)用Debug Sampler可以看到提取出來的token

2)【xx系統】線程組可正常引用【登錄】線程組的token,如圖

3)統一登錄成功跳轉到【xx系統】,登錄成功,如圖:

注:有人可能會好奇,這個請求下為什么會多了幾個子請求,哈哈,這涉及到重定向的知識了,大家可以自行百度下
補充個URL斷言:


