jmeter之beanshell斷言例項

2022-05-29 11:51:09 字數 2649 閱讀 9960

.首先儲存乙個介面的響應結果,比如在http請求的後面新增beanshell後置處理器(beanshell postprocessor)來儲存http請求的響應結果:

1

import org.json.*;23

//獲取上乙個請求的返回值

4 string response =prev.getresponsedataasstring();5//

將返回值轉換為json

6 jsonobject responsejson = new

jsonobject(response);7//

獲取responsemessage

8 string message = responsejson.getstring("responsemessage");

9 log.info("message的值:" +message);

1011

//使用vars.put()方法儲存變數message

12 vars.put("message",message);

13//

獲取titlelink

14 string titlelink = responsejson.getjsonobject("data").getstring("titlelink");

15 log.info("titlelink的值:" +titlelink);

16//

使用vars.put()方法儲存變數message

17 vars.put("titlelink",titlelink);

在後面的其他介面中如何需要使用變數message和titlelink,可以使用$和$來獲取變數的值;

變數儲存好後,在需要斷言的介面後面新增beanshell斷言,使用failrue來標識斷言失敗,failuremessage標示斷言失敗的原因,如:

1

//使用vars.get()方法獲取變數的值

2 string message= vars.get("message");34

if(!message.equals("success")) else

2.直接在需要斷言的介面後面使用beanshell斷言,使用failrue來標識斷言失敗,failuremessage標示斷言失敗的原因,如:

1

import org.json.*;23

//獲取上乙個請求的返回值

4 string response =prev.getresponsedataasstring();5//

將返回值轉換為json

6 jsonobject responsejson = new

jsonobject(response);7//

獲取responsemessage

8 string message = responsejson.getstring("responsemessage");

9 log.info("message的值:" +message);

1011

if(!message.equals("success"))

1617

//獲取titlelink

18 object titlelink = responsejson.getjsonobject("data").get("titlelink");

19 log.info("titlelink的值:" +titlelink.tostring());

介面的響應資料為:

1

_.html",

23 : : "address":"徐涇",

24 : : "contactname":"王女士",

25 : : "housetype":"4室2廳2衛",

26 : : "estate":"徐涇",

27 : : "roomarea":"177",

28 : : "collecthousetype":"住宅",

29 : : "collecttype":"出租",

30 : : "district":"青浦",

31 : : "totalfloor":"共20層",

32 : : "region":"上海",

33 : : "isregister":"否",

34 : : "desc":"仁恆西郊花園 4室2廳2衛 房屋亮點 新上 配套齊全 有陽台 首次出租 隨時看房 出租要求 一家人 一年起租 租戶穩定 作息正常 **描述小區環境好,物業管理成熟,私人會所實施配套齊全,臨近地鐵17號徐盈站,周邊多所國際學校,仁恆的房子品質有保障。無中介費。"

35: }

36 }

斷言失敗如下:

Jmeter後置處理器之BeanShell

1.log 列印日誌,寫入資訊到jmeber.log檔案。2.sampleresult 獲取sampleresult物件,能通過這個物件獲取想要的資訊。3.response 獲取response物件,能通過這個物件獲取響應資訊。4.failure 檢視介面調使用能否成功,假如返回false是成功的,...

jmeter執行緒跳轉 jmeter之執行緒組的使用

執行緒組 問題 為了能夠讓jmeter在做效能測試的時候,能夠像loadrunner場景設定中逐漸增加併發數,且逐漸減少併發使用者數,在不同的併發使用者數下,測試系統各個指標的變化。我們使用jmeter外掛程式jp gc stepping thread group 1 jmeter外掛程式 jp g...

玩轉Jmeter之jmeter元器件介紹3

一.jmeter八大元件件 取樣器,前置處理器,後置處理器,斷言,配置元件,邏輯控制器,定時器 作用域 按照樹形結構,注意某些元器件的作用範圍 1 取樣器 指用來發請求的,包括http請求,jdbc請求,websocket請求,rpc請求,部分協議可能需要自己做二次開發如mongodb壓測,mq壓測...