国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Jmeter 中 Beanshell 的使用

這篇具有很好參考價(jià)值的文章主要介紹了Jmeter 中 Beanshell 的使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言:

Beanshell 介紹

常用內(nèi)置變量

log

vars 和 props

vars 常用方法:

props 常用方法:

prev

綜合運(yùn)用


前言:

JMeter 是一個(gè)廣泛使用的性能測(cè)試工具,它支持許多不同的測(cè)試技術(shù)和方法。其中,Beanshell 是一種常用的腳本語(yǔ)言,它可以用來(lái)自動(dòng)化測(cè)試腳本的執(zhí)行和參數(shù)化測(cè)試。

Beanshell 介紹

Beanshell 是一種輕量級(jí)的 Java 腳本,純 Java 編寫的,能夠動(dòng)態(tài)的執(zhí)行標(biāo)準(zhǔn) java 語(yǔ)法及一些擴(kuò)展腳本語(yǔ)法,類似于 javaScript,在工作中可能用的多的就是:

  • Beanshell 取樣器:跟 Http 取樣器并列

  • Beanshell 前置處理器:一般放在 Http 請(qǐng)求下,在請(qǐng)求后處理一些數(shù)據(jù)

  • Beanshell 后置處理器:一般放在 Http 請(qǐng)求下,在請(qǐng)求前處理一些數(shù)據(jù)

  • Beanshell 斷言:一般放在 Http 請(qǐng)求下,做一些復(fù)雜斷言

常用內(nèi)置變量

log

打印日志,我們常??梢杂脕?lái)調(diào)試問題,使用舉例

  1. log.info("你想打印的內(nèi)容")
  2. log.error("你想打印的錯(cuò)誤內(nèi)容")

vars 和 props

區(qū)別:

  • vars 只能在當(dāng)前線程內(nèi)使用,props 可以跨線程組使用
  • vars 只能保存 String 或者 Object,props 是 Hashtable 對(duì)象
vars 常用方法:
  1. vars.get(String key):從 jmeter 中獲得變量值;
  2. vars.put(String key,String value):數(shù)據(jù)存到 jmeter 變量中;
props 常用方法:
  1. props.put("token","ertyuiahdg127423g4hjdkacnb");
  2. props.get("token");
prev

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

  1. prev.getResponseDataAsString():獲取響應(yīng)信息
  2. prev.getResponseCode() :獲取響應(yīng) code

綜合運(yùn)用

一般來(lái)說(shuō),我們接口返回都是標(biāo)準(zhǔn)的 json 格式數(shù)據(jù),例如:

{"datas":[
{"name":"張三","age":18,"address":"河北","phone":"1311111111"},
{"name":"李四","age":28,"address":"北京","phone":"13222222222"},
{"name":"王五","age":23,"address":"江蘇","phone":"13333333333"},
{"name":"趙六","age":32,"address":"湖北","phone":"13444444444"},
{"name":"瑪麗","age":45,"address":"美國(guó)","phone":"13555555555"},
{"name":"亨利","age":39,"address":"法國(guó)","phone":"13666666666"}]
}

那我就需要使用一些專門處理 json 數(shù)據(jù)的 jar 包來(lái)對(duì)數(shù)據(jù)進(jìn)行二次加工,這里舉例使用 json.jar,具體代碼如下:

//從json.jar導(dǎo)入所需要的類
import org.json.JSONObject;
import org.json.JSONArray;

//從變量獲取數(shù)據(jù),因?yàn)槲以谟脩糇远x變量設(shè)置的上面的json數(shù)據(jù)
String response = vars.get("response");
// 打印日志看看是否取到
log.info("看看response:"+response);
//String reponse = prev.getResponseDataAsString();//如果從接口取,可以這么寫

// String 轉(zhuǎn)化成JSONObject
JSONObject resObj = new JSONObject(response);
// 去除datas下的數(shù)據(jù)
JSONArray resArray = resObj.get("datas");
log.info("取出resArray:"+resArray.toString());//注意,需要把a(bǔ)rray轉(zhuǎn)成String才能打印

// 遍歷取出年齡>30的數(shù)據(jù),并存入新的JSONObject
JSONObject newObj = new JSONObject();//定義一個(gè)空的JSONObject
for(JSONObject item:resArray){
  int age = item.get("age");//取出age
if(age>30){
String name = item.get("name");//取出name作為key
    newObj.put(name,age);
  }
}
// 打印下取出的數(shù)據(jù)正確與否
log.info("大于30的人:"+newObj.toString());
// 存入變量,供下面接口使用
vars.put("newObj",newObj.toString());

Jmeter 中 Beanshell 的使用,軟件測(cè)試工具,軟件測(cè)試,自動(dòng)化測(cè)試,jmeter,ui,自動(dòng)化,運(yùn)維,設(shè)計(jì)模式,開源

??作為一位過(guò)來(lái)人也是希望大家少走一些彎路

在這里我給大家分享一些自動(dòng)化測(cè)試前進(jìn)之路的必須品,希望能對(duì)你帶來(lái)幫助。

(軟件測(cè)試相關(guān)資料,自動(dòng)化測(cè)試相關(guān)資料,技術(shù)問題答疑等等)

相信能使你更好的進(jìn)步!

點(diǎn)擊下方小卡片

Jmeter 中 Beanshell 的使用,軟件測(cè)試工具,軟件測(cè)試,自動(dòng)化測(cè)試,jmeter,ui,自動(dòng)化,運(yùn)維,設(shè)計(jì)模式,開源文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-602824.html

到了這里,關(guān)于Jmeter 中 Beanshell 的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包