beanshell斷言 Beanshell斷言

2021-10-17 05:26:09 字數 2011 閱讀 5149

有以下五個元件:

• beanshell sampler

• beanshell preprocessor

• beanshell postprocessor

• beanshell assertion

• __beanshell function

常用物件

1、vars:實際引用jmeter執行緒的區域性變數,連通jmeter和beanshell(本質上是個map)

vars.get(string key)//獲取字串變數值

vars.put(string key,string value)//儲存value到變數key

vars.putobject("object_name", object);//儲存物件(包括list, map, closure之類)

vars.getobject("object_name");//讀取物件

2、log:寫入資訊到日誌中

log.info("")

3、prev:獲取前乙個sample的響應

prev.getresponsedataasstring():以字串形式獲取響應資訊

prev.getresponsecode():獲取狀態碼

4、props:hashtable物件,可以跨執行緒組使用

props.put("some_variable',vars.get("some_variable"))

常用指令碼

import org.json.*;

string response = prev.getresponsedataasstring();//獲取前乙個sample的響應

"response的值:" + response);//將返回值轉換為json物件

jsonobject responsejson = new jsonobject(response);

jsonobject dataobj= responsejson.getjsonobject("data");//獲取data物件

jsonarray answersarr= dataobj.getjsonarray("answers");//獲取answers陣列

failure=true;//標記該斷言失敗

failuremessage="內容檢查失敗";//在log中輸出失敗原因

jsonobject的資料是用 來表示的,

例如:  

jsonarray,顧名思義是由jsonobject構成的陣列,用  [ , , ......  , ]  來表示

例如:   [   ,   ] ;

如何從字串string獲得jsonobject物件和jsonarray物件

jsonobject  jsonobject  = new jsonobject (string  str);

jsonarray jsonarray = new jsonarray(string str  ) ;

如何從jsonarray中獲得jsonobject物件

大家可以把jsonarray當成一般的陣列來對待,只是獲取的資料內資料的方法不一樣

jsonobject   jsonobject = (jsonobject)jsonarray.get(i);

jsonobject   jsonobject  =  jsonarray.getjsonobject(i) ;  (常用)

兩者都可。第一種注意轉換

獲取json內的資料

int   jid= jsonobject.getint ( "id" ) ;    //  這裡的jid得到的資料就是123.

string  jcourse=jsonobject.getstring( "courseid") ;   // 這裡的jcourse得到的資料就是huangt-test.

strirng jcourse = jsonobject.get("courseid").tostring();

JMeter中BeanShell斷言使用一

首先必須給beanshell斷言新增failuremessage if 2 totalclient ss2 expected totalclient ss 2 totalclient ss2,actually 2 新增了failuremessage,在jmeter介面執行時,如果beanshell斷...

jmeter之beanshell斷言例項

首先儲存乙個介面的響應結果,比如在http請求的後面新增beanshell後置處理器 beanshell postprocessor 來儲存http請求的響應結果 1 import org.json.23 獲取上乙個請求的返回值 4 string response prev.getresponsed...

JMeter中BeanShell實現寫入檔案

1.首先f test.txt檔案為空 2.定義jmeter引數 3.編寫beanshell public static void execparam string getdata vars.get v2 string getdata string filename f test.txt filewr...