Jmeter之後置處理器BeanShell PostProcessor與二進位制響應
阿新 • • 發佈:2019-01-08
讀取二進位制檔案
下載必要的jar包
準備xls檔案
構建指令碼
檢視http的file響應
注意text切換到Document模式
正則提取及結果
正則:
檢視debugSampler
因而需要對結果進行轉碼-beanshell後置處理器
BeanShell
程式碼1
import org.apache.jmeter.util.Document;//匯入官方jar包
String converted = Document.getTextFromDocument(data);//靜態方法不用生成物件,參見API:jmeter.apache.org/api/index.html
//data是該響應在BeanShell中的本地變數,是個字元陣列,本質就是那個讀取的那個file,會用就行不用懂
vars.put("response0820",converted);
檢視結果樹
程式碼2
適合有一定基礎的童鞋
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
InputStream in = new ByteArrayInputStream(data);//開啟流檔案
Workbook wb = new XSSFWorkbook(in);//多型,生成物件wb儲存這個二進位制響應結果
in.close();//關閉流檔案
Sheet sheet1 = wb.getSheet("Sheet1");//物件wb呼叫getSheet方法,獲取對應的Sheet,這裡是1
Row row = sheet1.getRow(0 );//取第0行放入row
Cell a1 = row.getCell(0);//取row的第0列
Cell b1 = row.getCell(1);//取作row的第1列
vars.put("A1",a1.getStringCellValue());
vars.put("B1",b1.getStringCellValue());
//log.info("+++++++++++++");