Jmeter之Bean shell使用(二)
一、操作變數
二、操作屬性
三、自定義函式
四、引用外部java檔案
五、引用外部class檔案
六、引用外部Jar包
七、其它用法(接受引數, log等)
一、操作變數:通過使用Bean shell內建物件vars可以對變數進行存取操作
a) vars.get("name"):從jmeter中獲得變數值
b) vars.put("key","value"):資料存到jmeter變數中
二、操作屬性:通過使用Bean shell內建物件props 可以對屬性進行存取操作
a) props.get("START.HMS"); 注:START.HMS為屬性名,在檔案jmeter.properties中定義
b) props.put("PROP1","1234");
三、自定義函式:
在BeanShell中,我們可以使用java語言自定義函式來處理特定的邏輯,結合BeanShell的內建物件進行變數的存取,方便我們進行測試提高指令碼的靈活性。
示例:
1、在Test Plan中新增一個變數:hello = kitty
2、Debug sampler-1和Debug sampler-2什麼都不處理,用來查詢對比beahshell處理前後的結果
3、BeanShell Sampler中的指令碼如下:
4、執行結果:
- Debug sampler-1中顯示:hello=kitty
- BeanShell sampler中 返回結果為:success
- Debug sampler-1中顯示:hello=world,jmeter=111111
四、引用外部java檔案:
有沒有覺得上面(三)中自定義函式這樣的方式太麻煩並且也不美觀?而且如果我們已經有現成的java原始檔或者class檔案時,我們有沒有什麼辦法直接在jemter中引用?這就是這部分要介紹的內容,直接上示例:
1、假如我有一個java 原始檔,名為:Myclass.java,程式碼如下:
package test; public class Myclass { public int add(int a, int b) { returna + b; } }
2、Bean Shell使用程式碼如下:
在bean shel中通過source("程式碼路徑")方法引入java,然後呼叫方法和java一樣,new一個class,再呼叫裡面的add 方法。
3、執行結果:
五、引用外部class檔案:
現在知道如何引用外部檔案,有時候如果我們只有class檔案怎麼辦呢?其實在jmeter中也可以直接引用class檔案,示例如下:
1、直接把上例中的java檔案編譯成class檔案,如何編譯請自行百度。
2、Bean Shell使用程式碼如下:
用addClassPath("D:\\")方法引入 class檔案,在用import匯入包及類,然後就可以像java一樣呼叫了
3、執行結果:
六、引用外部Jar包:
上面四、五介紹瞭如何引用外部java和class檔案,如果檔案比較多時我們可以把它們打成一個jar包然後在jemter中呼叫,具體如何使用可以看我上一篇有介紹:Jmeter之Bean shell使用(一)。
在這裡想補充一點的是jmeter中引入jar的方法:
1、上一篇中已使用過的:把jar包放到jmeter目錄\apache-jmeter-2.13\lib\ext下
2、在Test Plan的右側面板最下方直接新增需要引用的jar包,如下圖:
七、其它用法:
1、在Test Plan中定義如下三個變數:
2、Bean Shell可指令碼如下:
a、bean shell可以接受傳入引數,如下圖:${u1} ${u2} ${u3}
b、引數可以通過bsh.args[]按順序提取
c、bean shell提供了一個內建變數Parameters,來儲存引數的集合
3、執行結果:
下圖中1輸入的這兩句設定:
ResponseCode = 500;
ResponseMessage = "This is a test";
下圖中2輸入的這兩句設定:
log.info(Parameters);
log.info(Label);
相關推薦
Jmeter之Bean shell使用(二)
.get 方法 tro 邏輯 麻煩 str www title jar 上一篇Jmeter之Bean shell使用(一)簡單介紹了下Jmeter中的Bean shell,本文是對上文的一個補充,主要總結下常用的幾種場景和方法,相信這些基本可以涵蓋大部分的需求。本節內容如
【轉載】Jmeter之Bean shell使用(二)
調用方法 AC beans source 轉載 一個數 lan add sage 原博文地址為:https://www.cnblogs.com/puresoul/p/4949889.html 其中需要註意的是——三、自定義函數中BeanShell裏的方法需要調用才可以生效,
Jmeter之Bean shell使用(二)——斷言加密的響應資訊
斷言加密的響應資訊 1、在http請求-->新增-->斷言-->bean shell 斷言 import com.changfu.EncryptAndDecryptInterface; //匯入jar包的EncryptAndDecryptInterface類 import org
Jmeter之Bean shell使用(二)——斷言加密的響應信息
esb resp string brush bsp 請求 截取 status http 斷言加密的響應信息 1、在http請求-->添加-->斷言-->bean shell 斷言 import com.changfu.EncryptAndDecryptI
[搬運工系列]-JMeter(十六)Jmeter之Bean shell使用(二) Jmeter之Bean shell使用(一) Jmeter之Bean shell使用(一)
上一篇Jmeter之Bean shell使用(一)簡單介紹了下Jmeter中的Bean shell,本文是對上文的一個補充,主要總結下常用的幾種場景和方法,相信這些基本可以涵蓋大部分的需求。本節內容如下: 一、操作變數 二、操作屬性 三、自定義函式 四、引用外部java檔案 五、引用外
Jmeter之Bean shell使用(二)
一、操作變數 二、操作屬性 三、自定義函式 四、引用外部java檔案 五、引用外部class檔案 六、引用外部Jar包 七、其它用法(接受引數, log等) 一、操作變數:通過使用Bean shell內建物件vars可以對變數進行存取操作 a) vars.
Jmeter之Bean shell使用(一)
容器 reads lba art 參考 jmeter .info var result 一、什麽是Bean Shell BeanShell是一種完全符合Java語法規範的腳本語言,並且又擁有自己的一些語法和方法; BeanShell是一種松散類型的腳本語言(這點和JS類似
Jmeter之Bean shell使用(三)——執行緒組之間的引數傳遞
場景測試中,一次登入後做多個介面的操作,然後登入後的uid需要關聯傳遞給其他介面傳送請求的時候使用。 1、在登入介面響應資訊中提取uid欄位值 1>login請求 -->新增 -->後置處理器--> bean shell postprocessor 2>
[搬運工系列]-JMeter(十六)Jmeter之Bean shell使用(一)
一、什麼是Bean Shell BeanShell是一種完全符合Java語法規範的指令碼語言,並且又擁有自己的一些語法和方法; BeanShell是一種鬆散型別的指令碼語言(這點和JS類似); BeanShell是用Java寫成的,一個小型的、免費的、可以下載的、嵌入式的Java原始碼直譯器,
Jmeter之Bean shell使用(五)
1、在Test Plan中定義如下三個變數: 2、Bean Shell可指令碼如下: a、bean shell可以接受傳入引數,如下圖:${u1} ${u2} ${u3} b、引數可以通過bsh.args[]按順序提取 c、bean shell提供了一個內建變數Para
【轉載】Jmeter之Bean shell
lan 有一個 不能 acc listener 代碼 靈活 sta www. 一、什麽是Bean Shell BeanShell是一種完全符合Java語法規範的腳本語言,並且又擁有自己的一些語法和方法; BeanShell是一種松散類型的腳本語言(這點和JS類似);
jmeter之java請求二次開發
說明與步驟 原則上jmeter的java請求,可以壓測一切可使用java訪問的東西,包括Redis,MQ等等。 需要lib/ext中的ApacheJMeter_core.jar,如擴充套件java請求則還需要ApacheJMeter_java.jar,擴充套
Jmeter 接口測試對上接口結果二次處理作為入參 Bean Shell Processor
數據返回 接口 測試 ges alt 返回值 mage logs ima 1.線程組設置,HTTP COOKIE ,HTTP請求默認值設置,;註:Cookie主要傳遞登錄狀態 2.設置登錄 http 請求 3.登錄後,訪問數據接口(並對數據返回值做後置處理)
jmeter 傳送加密請求 beanshell斷言 執行緒組間傳遞引數 jmeter bean shell斷言加密的響應資訊(加密介面測試二) jmeter 執行緒組之間的引數傳遞(加密介面測試三)
原文地址https://www.cnblogs.com/wnfindbug/p/5817038.html 最近在做http加密介面,請求頭的uid引數及body的請求json引數都經過加密再發送請求,加密方式為:ase256。所以,jmeter傳送請求前也需要對uid及jso
jmeter bean shell斷言加密的響應資訊(加密介面測試二)
斷言加密的響應資訊 1、在http請求-->新增-->斷言-->bean shell 斷言 import com.changfu.EncryptAndDecryptInterface; //匯入jar包的EncryptAndDecryptInterface類import or
Jmeter(三十二)Jmeter Question 之 亂碼解讀
直接 默認 進行 json 字符 blog 文件中 內容 錄制完成 眾所周知,編碼的問題影響著眾多開發者,當然見多不怪。 先扒了一個編碼的原因,也就是為什麽要編碼: 計算機中存儲信息的最小單元是一個字節即 8 個 bit,所以能表示的字符範圍是 0~255 個 人
學習之路(二)淺談:bash及其特性,命令歷史以及用戶管理及權限,shell的類型
bash 管理權限 過了一周了,進度似乎有點懈怠,不過過了周末重整旗鼓啦shell(外殼)GUI:Gnome,KDE,xfceCLI:sh,csh,ksh,bashbash(父進程)-----bash(子進程)他們相互獨立彼此不知命令歷史:historybash支持的引號:‘ ’命令替換(鍵盤~的按鍵
spring深入學習(二十三) IOC 之 bean 的初始化
一個 bean 經歷了 createBeanInstance() 被創建出來,然後又經過一番屬性注入,依賴處理,歷經千辛萬苦,千錘百煉,終於有點兒 bean 例項的樣子,能堪大任了,只需要經歷最後一步就破繭成蝶了。這最後一步就是初始化,也就是 initializeBea
Jmeter之處理session、cookie以及如何做關聯(二)Jmeter如何提取響應頭部的JSESSIONID
就是利用Jmeter做介面測試的時候,如何提取頭部的JSESSIONID然後傳遞到下一個請求,繼續完成當前使用者的請求。其實,關於這個問題有三種種解決方法:3)如果響應頭裡面有這個JSESSIONID,我們可以通過新增cookie來解決這個問題,今天這篇部落格,我們重點講解第
jmeter獲取響應數據中參數值的常用方式(JSON提取器 、正則表達式提取器 、XPath提取器 、Bean Shell PostProcessor)
選擇 正則表達 pos alt 正則表達式 格式 processor info 表達 JSON提取器: XPath提取器: 返回數據格式是HTML的時候,選擇使用此種方式。 正則表達式提取器: 圖中Field to check勾選的是Response He