亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Jmeter中的BeanShell腳本

 更新時間:2021年12月17日 11:31:44   作者:天青色wy  
BeanShell是一種完全符合Java語法規(guī)范的腳本語言,并且又擁有自己的一些語法和方法,所以它和java是可以無縫銜接的,學了Java的一些基本語法后,就可以來在Jmeter中寫寫B(tài)eanShell腳本了

在利用jmeter進行接口測試或者性能測試的時候,我們需要處理一些復雜的請求,此時就需要利用beanshell腳本了,BeanShell是一種完全符合Java語法規(guī)范的腳本語言,并且又擁有自己的一些語法和方法,所以它和java是可以無縫銜接的。beanshell由于內(nèi)置了一些特有的變量,沒法在一些集成代碼工具上去調(diào)試。

學了Java的一些基本語法后,就可以來在Jmeter中寫寫B(tài)eanShell腳本了。

直接在線程組下創(chuàng)建一個BeanShell取樣器,然后在腳本區(qū)寫java代碼:

寫了個循環(huán),執(zhí)行后在這里看不到,要在jmeter.bat的windows批處理里看到:

JMeter在它的BeanShell中內(nèi)置了變量,用戶可以通過這些變量與JMeter進行交互:

1、log:寫入信息到jmeter.log文件,使用方法:log.info(“hahahahahahah”);

2、vars:操作jmeter變量,這個變量實際引用了JMeter線程中的局部變量容器(本質(zhì)上是Map),它是測試用例與BeanShell交互的橋梁,常用方法:

    a) vars.get(String key):從jmeter中獲得變量值

    b) vars.put(String key,String value):數(shù)據(jù)存到jmeter變量中

添加日志查看:

使用vars:

在線程組2里面去訪問vars變量,輸出null,可見vars確實是個局部變量:

3、props:操作jmeter屬性,該變量引用了JMeter的配置信息,可以獲取Jmeter的屬性,它的使用方法與vars類似,但是只能put進去String類型的值,而不能是一個對象。對應于java.util.Properties。

props的全局性:

4、prev:獲取前面的sample返回的信息,常用方法:

    a)getResponseDataAsString(): 獲取響應信息;

    b) getResponseCode(): 獲取響應代碼;

先發(fā)個接口請求,然后prev獲取返回信息:

自定義函數(shù):使用Java自定義函數(shù)來處理特定的邏輯,結(jié)合BeanShell的內(nèi)置對象進行變量的存取,提高腳本的靈活性。

寫了個自定義的靜態(tài)函數(shù),實現(xiàn)的是整數(shù)的累加:

發(fā)現(xiàn)報錯,原來是函數(shù)的返回值是int類型的,而log.info()里面要的是String。這里把int類型的result轉(zhuǎn)換為string有三種方法:
1、String.valueOf(result)

2、Integer.toString(result)

3、result+""

任選一個即可。

引用外部java文件:在BeanShell中通過source("代碼路徑")方法引入Java文件,然后調(diào)用方法和java一樣,new一個對象,通過

對象調(diào)用里面的方法。

寫個靜態(tài)方法,保存為Test.java文件,放在D盤下:

然后在BeanShell里引用Test.java,調(diào)用函數(shù),傳參100,日志輸出:

引用外部jar包

首先打包:

1、把當前的Test作為運行文件,先運行一遍。

2、右鍵項目名--Export--Runnable JAR file.

3、在Launch找到運行文件,放到jmeter安裝目錄下lib/ext下。

4、在Jmeter的BeanShell里導包,調(diào)用方法。

這里我運行報錯了,說方法找不到,摸索良久后嘗試在測試計劃里添加一下jar包,結(jié)果成功了。

到此這篇關(guān)于Jmeter中的BeanShell腳本的文章就介紹到這了,更多相關(guān)Jmeter BeanShell腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決MyBatis中為類配置別名,列名與屬性名不對應的問題

    解決MyBatis中為類配置別名,列名與屬性名不對應的問題

    這篇文章主要介紹了解決MyBatis中為類配置別名,列名與屬性名不對應的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Spring MVC/Boot 統(tǒng)一異常處理最佳實踐

    詳解Spring MVC/Boot 統(tǒng)一異常處理最佳實踐

    在 Web 開發(fā)中, 我們經(jīng)常會需要處理各種異常,這篇文章主要介紹了詳解Spring MVC/Boot 統(tǒng)一異常處理最佳實踐,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Spring?MVC?URL地址映射的示例代碼

    Spring?MVC?URL地址映射的示例代碼

    @RequestMapping是一個用來處理請求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。,這篇文章主要介紹了Spring?MVC?URL地址映射,需要的朋友可以參考下
    2022-07-07
  • Java CAS底層實現(xiàn)原理實例詳解

    Java CAS底層實現(xiàn)原理實例詳解

    這篇文章主要介紹了Java CAS底層實現(xiàn)原理實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 淺談java多線程編程

    淺談java多線程編程

    這篇文章主要介紹了java多線程編程的相關(guān)資料,文中講解非常細致,幫助大家更好的理解和學習java多線程,感興趣的朋友可以了解下
    2020-08-08
  • 基于Java中字符串內(nèi)存位置詳解

    基于Java中字符串內(nèi)存位置詳解

    下面小編就為大家?guī)硪黄贘ava中字符串內(nèi)存位置詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 基于mybatis逆向工程的使用步驟詳解

    基于mybatis逆向工程的使用步驟詳解

    下面小編就為大家?guī)硪黄趍ybatis逆向工程的使用步驟詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java 的抽象類原理與用法分析

    Java 的抽象類原理與用法分析

    這篇文章主要介紹了Java 的抽象類原理與用法,結(jié)合實例形式分析了java抽象類與接口的相關(guān)概念、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-12-12
  • 深入學習java并發(fā)包ConcurrentHashMap源碼

    深入學習java并發(fā)包ConcurrentHashMap源碼

    這篇文章主要介紹了深入學習java并發(fā)包ConcurrentHashMap源碼,整個 ConcurrentHashMap 由一個個 Segment 組成,Segment 代表”部分“或”一段“的意思,所以很多地方都會將其描述為分段鎖。,需要的朋友可以參考下
    2019-06-06
  • Springboot 跨域配置無效及接口訪問報錯的解決方法

    Springboot 跨域配置無效及接口訪問報錯的解決方法

    這篇文章主要介紹了Springboot 跨域配置無效及接口訪問報錯的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12

最新評論