【新夢想幹貨分享】Jmeter技能:Json數據中如何設置變量

我有兩個接口,A接口和B接口,B接口以下:正則表達式

新夢想幹貨分享



問題如何把{"tag":{"name":"123456"}}中name後面的值設置爲變量,該變量是從A接口中提取出來的。json

若是使用正則表達式或是json提取器,如:ide


新夢想幹貨分享


提取出來的值直接在B接口中使用,好比:{"tag":{"name":"${tokens}"}},最終獲得的返回值將是{"tag":{"id":149,"name":"${tokens}"}}函數

解決方法:json格式的數據中,能夠存放兩種形式的變量(目前我本身知道的),一個是函數助手中的函數,例如:spa


新夢想幹貨分享

新夢想幹貨分享


另一個就是從外界讀取外部文件,再放入json格式的數據中,例如:orm


新夢想幹貨分享

新夢想幹貨分享

新夢想幹貨分享

新夢想幹貨分享


剩下來的就很簡單了,既然知道如何把數據放在json格式的數據中,那麼剩下的就是如何把第一個接口中的數據提取出來放在文件裏,下面是示例:對象

首先,咱們添加一個前置處理器BeanShell PreProcessor或者後置處理器BeanShell PostProcess,在裏面編寫腳本,具體代碼以下:blog

FileWriter fw = new FileWriter("E:\\tokens.csv",false);token

BufferedWriter bw = new BufferedWriter(fw);接口

bw.write(vars.get("tokens")+"\n");

bw.close();

fw.close();

大概的意思就是:如今本地E:這個路徑下新建tokens.csv文件,false表明下一次覆蓋上一次,若是寫true的話,表明在後面追加,新建文件以後,new一個bufferedWriter對象,vars.get表示獲取第一個接口中用正則表達式提取出來的數據tokens,而後寫入文件,而後關閉這兩個方法,必定要寫close。

總的一個流程就是,正則表達式提取數據,處理器把提取出來的數據存儲到指定文件中,配置原件CSV數據文件設置講文件中的數據做爲變量放入json格式的數據中。


新夢想幹貨分享

相關文章
相關標籤/搜索