溫馨提示×

溫馨提示×

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

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

jmeter4.0 統(tǒng)計結(jié)果次數(shù) BeanShell Sampler,Debug Sampler

發(fā)布時間:2020-04-06 08:13:16 來源:網(wǎng)絡(luò) 閱讀:2360 作者:btmaxyyq 欄目:開發(fā)技術(shù)

jmeter4.0 統(tǒng)計結(jié)果次數(shù) BeanShell Sampler,Debug Sampler

業(yè)務(wù)場景:
抽獎活動,程序按比例分配獎品,測試員想模擬100次抽獎,獲取抽獎的結(jié)果,分析大致的概率

1.setUp Thread Group 前置,右擊添加 BeanShell Sampler
輸入

props.put("a",0);
props.put("b",0);
props.put("c",0);
props.put("d",0);
props.put("e",0);
props.put("f",0);
props.put("g",0);

這邊猶如一個map 存放鍵值對
這段一定要前置,否則每次運行都會將value回0
2.添加線程組-》添加http請求
http請求下添加JSON Extractor(因為我們需要從接口返回的json中獲取信息進行統(tǒng)計)
下列是我的接口返回回來的json數(shù)據(jù)
{"code":200,"msg":"0.3%加息劵","weight":1}

JSON Extractor中設(shè)置
JSONPath Expression: $.msg
names of created variables:messageYyq
3.添加BeanShell Sampler
此BeanShell Sampler事在線程組下的 會被多次執(zhí)行
代碼如下:


String value = vars.get("messageYyq");

if("飛科剃須刀".equals(value)){
    int x = props.get("a")+1;
    props.put("a",x);
    }
if("赤霞珠干紅酒".equals(value)){
    int x = props.get("b")+1;
    props.put("b",x);
    }
if("亞麻籽油".equals(value)){
    int x = props.get("e")+1;
    props.put("e",x);
    }
if("30元返現(xiàn)劵".equals(value)){
    int x = props.get("f")+1;
    props.put("f",x);
    }
if("50元京東E卡".equals(value)){
    int x = props.get("g")+1;
    props.put("g",x);
    }
if("0.3%加息劵".equals(value)){
    int x = props.get("d")+1;
    props.put("d",x);
    }
if("1%加息劵".equals(value)){
    int x = props.get("c")+1;
    props.put("c",x);
    }

4.添加Debug Sampler,將jmeter properties 設(shè)置為true

最后Debug Sampler運行 結(jié)果如下:
    START.YMD=20180612
TESTSTART.MS=1528853588059
a=0
b=0
beanshell.server.file=../extras/startup.bsh
c=0
classfinder.functions.contain=.functions.
classfinder.functions.notContain=.gui.
cookies=cookies
cssParser.className=org.apache.jmeter.protocol.http.parser.CssParser
cssParser.types=text/css
csvdataset.file.encoding_list=UTF-8|UTF-16|ISO-8859-15|US-ASCII
d=20
e=0
f=0
g=0

可以看出 變量次數(shù)都有輸出


當(dāng)然也可以不用Debug Sampler
在第二個BeanShell Sampler代碼最后加上

String cc = "a:"+props.get("a")+"d:"+props.get("d");

    return cc;

這樣在 結(jié)果樹中的BeanShell Sampler里的響應(yīng)數(shù)據(jù)里 也能看到 更為清晰 。

向AI問一下細節(jié)

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

AI