溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量

發(fā)布時間:2020-10-06 04:47:21 來源:網(wǎng)絡(luò) 閱讀:446 作者:qq5ddf70848596b 欄目:軟件技術(shù)

我有兩個接口,A接口和B接口,B接口如下:

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量



問題如何把{"tag":{"name":"123456"}}中name后面的值設(shè)置為變量,該變量是從A接口中提取出來的。

如果使用正則表達(dá)式或是json提取器,如:


【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量


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

解決方法:json格式的數(shù)據(jù)中,可以存放兩種形式的變量(目前我自己知道的),一個是函數(shù)助手中的函數(shù),例如:


【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量


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


【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量

【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量


剩下來的就很簡單了,既然知道如何把數(shù)據(jù)放在json格式的數(shù)據(jù)中,那么剩下的就是如何把第一個接口中的數(shù)據(jù)提取出來放在文件里,下面是示例:

首先,我們添加一個前置處理器BeanShell PreProcessor或者后置處理器BeanShell PostProcess,在里面編寫腳本,具體代碼如下:

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

BufferedWriter bw = new BufferedWriter(fw);

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

bw.close();

fw.close();

大概的意思就是:現(xiàn)在本地E:這個路徑下新建tokens.csv文件,false代表下一次覆蓋上一次,如果寫true的話,代表在后面追加,新建文件之后,new一個bufferedWriter對象,vars.get表示獲取第一個接口中用正則表達(dá)式提取出來的數(shù)據(jù)tokens,然后寫入文件,然后關(guān)閉這兩個方法,一定要寫close。

總的一個流程就是,正則表達(dá)式提取數(shù)據(jù),處理器把提取出來的數(shù)據(jù)存儲到指定文件中,配置原件CSV數(shù)據(jù)文件設(shè)置講文件中的數(shù)據(jù)作為變量放入json格式的數(shù)據(jù)中。


【新夢想干貨分享】Jmeter技能:Json數(shù)據(jù)中如何設(shè)置變量


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI