jmx腳本編寫第一天


  新公司要編寫jmeter腳本,Java丟掉N久也不想撿起來的我第一時間尋找其他語言編寫的方法,千辛萬苦找到了jython,還沒開心呢,寫完登錄和退出腳本問題就來了,jython已經停更多年,很多功能和現在並不接軌了,只能扭頭乖乖撿起java。好在jmeter腳本需要的Java包主要只有兩個,一個JSONArray一個JsonObject。為了加深印象順帶撿起丟了許久未更新的blog開始記隨筆了,目標是一周內熟悉語法,能獨立編寫beanshell。

基本獲取jmeter響應參數都可以套用下面的模板

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

//獲取上一個請求的返回值
String json=prev.getResponseDataAsString();
//將返回值轉換為json
JSONObject jso = JSON.parseObject(json);
//獲取data
JSONObject data = jso.getJSONObject("data");
//獲取token
//也可以寫作String token = jso.getJSONObject("data").getString("token");
String token = data.getString("token");

log.info("token");
//使用vars.put()方法儲存變量token
vars.put("token",token);

在后面的其他接口中如何需要使用變量token,可以使用${token}來獲取變量的值;

變量儲存好后,在需要斷言的接口后面添加BeanShell斷言,使用Failrue來標識斷言失敗,FailureMessage標示斷言失敗的原因,如:

//使用vars.get()方法獲取變量的值
String token= vars.get("token");
 
if(!message.equals("")) {
    Failure = true; 
    FailureMessage = "規則解析失敗";
}else{
    FailureMessage = "規則解析成功";
    }

  或者直接在需要斷言的接口中進行斷言操作

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

//獲取上一個請求的返回值
String json=prev.getResponseDataAsString();
//將返回值轉換為json
JSONObject jso = JSON.parseObject(json);
//獲取data
JSONObject data = jso.getJSONObject("data");
//獲取token
//也可以寫作String token = jso.getJSONObject("data").getString("token");
String token = data.getString("token");

log.info("token"); 
if(!message.equals("")) {
    Failure = true; 
    FailureMessage = "規則解析失敗";
}else{
    FailureMessage = "規則解析成功";
    }

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM