import?java.text.SimpleDateFormat; import?java.util.Calendar; import?java.util.Date; try{ Date?date?=new?Date();?//獲取當(dāng)前時(shí)間 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);?//參數(shù)可以調(diào)用 vars.put("senderDate",senderDate);?//參數(shù)可以調(diào)用 } catch(Exception?e){ }
成都創(chuàng)新互聯(lián)是專業(yè)的豐臺(tái)網(wǎng)站建設(shè)公司,豐臺(tái)接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行豐臺(tái)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
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();
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.*; //一:數(shù)據(jù)庫取值 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?='測(cè)試項(xiàng)目'??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?=?"連接數(shù)據(jù)庫失敗"; }
利用beanshell獲取到j(luò)son響應(yīng),然后通過JSONObject?和JSONArray?將數(shù)組解析,遍歷數(shù)組的length之后,提取參數(shù)值
我們需要解析如下的json響應(yīng),提取出中間的Name和population
//導(dǎo)入json包 import?org.json.*; //獲取獲取請(qǐng)求的返回值 String?response_data?=?prev.getResponseDataAsString();? //日志打印獲取請(qǐng)求的返回值 log.info(response_data); //將String類型的返回值構(gòu)造成JSONObject對(duì)象 JSONObject?data_obj?=?new?JSONObject(response_data); //獲取作為下一個(gè)請(qǐng)求post的參數(shù)值Province(兩種方式) //String?Provincelist_str?=?data_obj.get("Province").toString();? JSONArray?Provincelist_str?=?data_obj.getJSONArray("Province"); //log.info(Provincelist_str); //獲取Province數(shù)組的長(zhǎng)度 int?len?=?Provincelist_str.length();? ? String?strlen?=?Integer.toString(len); ? vars.put("MessageNum",strlen); log.info(strlen); int?i?=?0; for(;i?遞歸創(chuàng)建多級(jí)目錄
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("創(chuàng)建文件夾路徑為:"+?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();? ????????????}常用內(nèi)置變量
1.log?打印日志,寫入信息到j(luò)meber.log文件。 ? 2.SampleResult?獲取SampleResult對(duì)象,能通過這個(gè)對(duì)象獲取想要的信息。 ? 3.Response?獲取Response對(duì)象,能通過這個(gè)對(duì)象獲取響應(yīng)信息。 ? 4.Failure?查看接口調(diào)使用能否成功,假如返回false是成功的,true是失敗的。 ? 5.FailureMessage?失敗信息,沒有設(shè)置的時(shí)候失敗信息是空的,能set這個(gè)信息。 ? 6.ResponseData?獲取response?body類型是byte[]。 ? 7.ResponseCode?返回接口code成功是200。 ? 8.ResponseMessage?獲取msg成功是OK。 ? 9.ResponseHeaders?獲取接口服務(wù)端返回的頭部信息。 ? 10.RequestHeaders?獲取用戶端請(qǐng)求的頭部信息。 ? 11.SampleLabel?獲取接口請(qǐng)求的名稱。 ? 12.SamplerData?獲取請(qǐng)求的url和body。 ? 13.ctx?代表上下文信息,能直接用。 ? 14.vars即JMeterVariables,操作jmeter變量,這個(gè)變量實(shí)際引用了JMeter線程中的局部變量容器(本質(zhì)上是Map),常用方法: ? a)?vars.get(String?key):從jmeter中獲得變量值; ? b)?vars.put(String?key,String?value):數(shù)據(jù)存到j(luò)meter變量中; ? 15.prev?獲取前面的sample返回的信息,常用方法: ? a)?prev.getResponseDataAsString():獲取響應(yīng)信息。 ? b)?prev.getResponseCode()?:獲取響應(yīng)code。?調(diào)用cmd文件
1 2 3 | String command =? "cmd /c start D:\\apache-jmeter-3.2\\負(fù)載.bat" ; Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command); |
1 2 3 4 5 | button =? new ?JButton(? "登錄" ?); frame =? new ?JFrame(? "My Frame" ?); frame.getContentPane().add( button,? "Center" ?); frame.pack(); frame.setVisible( true ); |