91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jmeter常用Beanshell腳本

發布時間:2020-07-13 12:51:10 來源:網絡 閱讀:1061 作者:ufuhz2008 欄目:軟件技術

整理了一批jmeter常用的beanshell腳本供大家參考!

時間戳

import?java.text.SimpleDateFormat;
import?java.util.Calendar;
import?java.util.Date;
try{
Date?date?=new?Date();?//獲取當前時間
SimpleDateFormat?sf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");
String?nowDate?=?sf.format(date);
Calendar?cal?=?Calendar.getInstance();
cal.setTime(sf.parse(nowDate));
cal.add(Calendar.DAY_OF_YEAR,+0);?
String?orderDate?=?sf.format(cal.getTime());
cal.add(Calendar.DAY_OF_YEAR,+365);?
String?senderDate?=?sf.format(cal.getTime());
vars.put("orderDate",orderDate);?//參數可以調用
vars.put("senderDate",senderDate);?//參數可以調用
}
catch(Exception?e){
}

jmeter常用Beanshell腳本


下載文件

import?java.io.*;
byte[]?result?=?prev.getResponseData();?
String?file_name?=?"D:\\gongju\\apache-jmeter-3.2\\bin\\download\\sqlEnt_${id}.zip";?
File?file?=?new?File(file_name);?
FileOutputStream?out?=?new?FileOutputStream(file);
out.write(result);
out.close();

jmeter常用Beanshell腳本

保存響應內容

FileWriter?fstream?=?new?FileWriter("XXX",true);
BufferedWriter?out?=new?BufferedWriter(fstream);
out.write(vars.get("AAA")+","+?vars.get("BBB"));
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();

斷言

import?java.io.UnsupportedEncodingException;
import?org.apache.jmeter.assertions.AssertionResult;
import?org.json.*;
String?str?=?prev.getResponseDataAsString();
String?result?=?"";
try?{
result?=?java.net.URLDecoder.decode(str,?"UTF-8");
}?catch?(UnsupportedEncodingException?e)?{
e.printStackTrace();
}
JSONObject?data_obj=new?JSONObject(str);
String?result1?=?data_obj.get("dockedContact").get("name").toString();
if(result1.contains("zhufc"))?{
Failure?=?true;
FailureMessage?=?"斷言成功";
log.info("斷言成功");
}else{
Failure?=?false;
FailureMessage?=?"斷言失敗";
}

連接數據庫

import?java.sql.*;
import?java.util.*;
import?java.lang.*;
import?org.apache.regexp.*;
import?org.json.*;
//一:數據庫取值
String?drive?=?"org.gjt.mm.mysql.Driver";
String?url?=?"jdbc:mysql://192.168.204.129:3306/";
String?dbName?=?"aiopms";
String?user?=?"root";
String?pass?=?"000000";
String?history?=?"";
String?response?=?"";
String?failuer?=?"";
String?query?="SELECT?projectid?From?pms_projects?Where?name?='測試項目'??order?by?'desc'?limit?1";
Connection?Mycon?=?null;
Statement?Mystmt?=?null;
ResultSet?Myrset?=?null;
try{
????Mycon?=?DriverManager.getConnection(url+dbName,?user,?pass);
?????
????????}???catch(SQLException?e){
?????????
????}
Mystmt?=?Mycon.createStatement();
Myrset?=?Mystmt.executeQuery(query);
while?(Myrset.next()){
????history?=?Myrset.getString(1);
????}
????Myrset.close();
????Mystmt.close();
?????
if(history?==?"")
{
????Failure?=?true;
????FailureMessage?=?"連接數據庫失敗";
}

解析jsonlist

利用beanshell獲取到json響應,然后通過JSONObject?JSONArray?將數組解析,遍歷數組的length之后,提取參數值

我們需要解析如下的json響應,提取出中間的Namepopulation

jmeter常用Beanshell腳本

//導入json包
import?org.json.*;
//獲取獲取請求的返回值
String?response_data?=?prev.getResponseDataAsString();?
//日志打印獲取請求的返回值
log.info(response_data);
//將String類型的返回值構造成JSONObject對象
JSONObject?data_obj?=?new?JSONObject(response_data);
//獲取作為下一個請求post的參數值Province(兩種方式)
//String?Provincelist_str?=?data_obj.get("Province").toString();?
JSONArray?Provincelist_str?=?data_obj.getJSONArray("Province");
//log.info(Provincelist_str);
//獲取Province數組的長度
int?len?=?Provincelist_str.length();?
?
String?strlen?=?Integer.toString(len);
?
vars.put("MessageNum",strlen);
log.info(strlen);
int?i?=?0;
for(;i?<?len;++i)
{
//獲取?data[?i?]?數組對象
JSONObject?jsonTemp?=?(JSONObject)Provincelist_str.getJSONObject(i);
switch(i)
{
case?0:
//兩種提取參數的寫法
String?NameItems?=?jsonTemp.getString("Name");
//?String?NameItems?=?jsonTemp.get("Name").toString();
//?兩種打印參數的方法
//?vars.put("Name_1",?jsonTemp.getString("Name"));?
vars.put("Name_1",?NameItems);?
log.info(NameItems);
}
}

遞歸創建多級目錄

import?java.io.File;?
import?java.io.FileNotFoundException;?
import?java.io.FileWriter;?
import?java.io.IOException;?
import?java.io.RandomAccessFile;?
????????????StringBuffer?fileBuf=new?StringBuffer();?
????????????String?filePar?=?"D:\\\目錄1\\目錄2";
????????????File?myPath?=?new?File(?filePar?);?
????????????if?(?!myPath.exists()){
????????????????myPath.mkdirs();?
????????????????System.out.println("創建文件夾路徑為:"+?filePar);?
????????????}?
????????????
????????????String?filename?=?"列表.csv";
????????????try?{?
????????????????FileWriter?fw?=?new?FileWriter(filePar?+?"\\\"?+?filename,true);
???????????????
????????????????String?originalLine?=?“”+"\n";
????????????????System.out.println("***?"+?originalLine);?
????????????????fw.write(originalLine);?
????????????????fw.close();?
????????????}?catch?(IOException?e)?{?
??
????????????????e.printStackTrace();?
????????????}

常用內置變量

1.log?打印日志,寫入信息到jmeber.log文件。
?
2.SampleResult?獲取SampleResult對象,能通過這個對象獲取想要的信息。
?
3.Response?獲取Response對象,能通過這個對象獲取響應信息。
?
4.Failure?查看接口調使用能否成功,假如返回false是成功的,true是失敗的。
?
5.FailureMessage?失敗信息,沒有設置的時候失敗信息是空的,能set這個信息。
?
6.ResponseData?獲取response?body類型是byte[]。
?
7.ResponseCode?返回接口code成功是200。
?
8.ResponseMessage?獲取msg成功是OK。
?
9.ResponseHeaders?獲取接口服務端返回的頭部信息。
?
10.RequestHeaders?獲取用戶端請求的頭部信息。
?
11.SampleLabel?獲取接口請求的名稱。
?
12.SamplerData?獲取請求的url和body。
?
13.ctx?代表上下文信息,能直接用。
?
14.vars即JMeterVariables,操作jmeter變量,這個變量實際引用了JMeter線程中的局部變量容器(本質上是Map),常用方法:
?
a)?vars.get(String?key):從jmeter中獲得變量值;
?
b)?vars.put(String?key,String?value):數據存到jmeter變量中;
?
15.prev?獲取前面的sample返回的信息,常用方法:
?
a)?prev.getResponseDataAsString():獲取響應信息。
?
b)?prev.getResponseCode()?:獲取響應code。<br><br>


?調用cmd文件

1
2
3
String command =?"cmd /c start D:\\apache-jmeter-3.2\\負載.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

GUI小命令

1
2
3
4
5
button =?new?JButton(?"登錄"?);
frame =?new?JFrame(?"My Frame"?);
frame.getContentPane().add( button,?"Center"?);
frame.pack();
frame.setVisible(true);


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新营市| 房产| 葫芦岛市| 太白县| 贡觉县| 临城县| 涞源县| 嘉黎县| 石阡县| 文昌市| 大宁县| 石渠县| 富锦市| 武功县| 丰宁| 扬州市| 攀枝花市| 逊克县| 福建省| 北海市| 延长县| 乌鲁木齐市| 蓝山县| 宁陕县| 娄底市| 松江区| 华安县| 南靖县| 长子县| 哈巴河县| 武山县| 巍山| 施甸县| 开封县| 墨江| 东兰县| 和平县| 鸡东县| 玛多县| 芜湖县| 宾川县|