




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第jmeter執(zhí)行python腳本的實現(xiàn)示例目錄概要一、環(huán)境準(zhǔn)備1.測試工具2.測試資源二、實現(xiàn)過程1.在jmeter中設(shè)置參數(shù)2.通過jmeter修改py模板3.通過jmeter執(zhí)行py腳本4.使用獲得的輸出信息三、運(yùn)行調(diào)試1.運(yùn)行前2.運(yùn)行后
概要
本文主要介紹一個通過jmeter執(zhí)行python腳本的測試場景。主要過程如下:
在jmeter中設(shè)置參數(shù);通過jmeter修改py模板文件,并創(chuàng)建后續(xù)需執(zhí)行的py腳本;通過jmeter執(zhí)行py腳本文件,獲得py文件的執(zhí)行輸出結(jié)果,并設(shè)置為變量;使用變量進(jìn)行后續(xù)測試。
提示:以下為本篇文章正文內(nèi)容,案例僅供參考。
一、環(huán)境準(zhǔn)備
1.測試工具
jmeter、python,與版本無關(guān),任意版本均可。
2.測試資源
py模板文件:
1)自定義需要在py模板文件中修改的參數(shù),比如:我們想在jmeter中修改py腳本中某些變量的初始值,我們可以在采用特殊標(biāo)記[變量名]的方式標(biāo)記其為可替換變量;
2)使用print()方法打印輸出目標(biāo)參數(shù)。也可以采用其他方法,比如將多個變量值寫入到csv文件中,后續(xù)可以使用csv文件進(jìn)行參數(shù)化。
圖-變量設(shè)置:[times]、[modelName]、[modelType]
圖-輸出設(shè)置:print(filepath)
二、實現(xiàn)過程
1.在jmeter中設(shè)置參數(shù)
如圖,可以選擇添加前置處理器用戶參數(shù),用于設(shè)置相關(guān)變量的初始值;
2.通過jmeter修改py模板
添加取樣器BeanShell取樣器,編寫讀取文件、寫入文件代碼。主要思路:讀取模板文件內(nèi)容,替換目標(biāo)字符后,寫入到新文件中;
//模板文件位置
Stringread_path=vars.get("dir")+File.separator+"files\\mkxml\\template_demo.py";
//輸出文件位置
Stringwrite_path=vars.get("dir")+File.separator+"files\\mkxml\\demo.py";
//讀取模板文件內(nèi)容
StringBufferres=newStringBuffer();
Stringline=null;
Fileread_file=newFile(read_path);
BufferedReaderreader=newBufferedReader(newInputStreamReader(newFileInputStream(read_file),"UTF-8"));
while((line=reader.readLine())!=null){
res.append(line+"\n");
reader.close();
//處理模板內(nèi)容,替換相關(guān)參數(shù)
Stringcontent=res.toString();
content=content.replace("[times]",vars.get("times"));
content=content.replace("[modelName]",vars.get("modelName"));
content=content.replace("[modelType]",vars.get("modelType"));
//寫入內(nèi)容到輸出文件位置
Filewrite_file=newFile(write_path);
BufferedWriterwriter=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(write_file),"UTF-8"));
writer.write(content);
writer.flush();
writer.close();
3.通過jmeter執(zhí)行py腳本
添加取樣器BeanShell取樣器,通過cmd命令執(zhí)行py腳本,并獲得窗口輸出信息;
//以cmd命令行方式調(diào)用py腳本,為多組命令連接符
Stringcmd="cmd/ccd/d"+vars.get("dir")+File.separator+"files\\mkxmlpythondemo.py";
Runtimert=Runtime.getRuntime();
Processpr=rt.exec(cmd);
pr.waitFor();
BufferedReaderbr=newBufferedReader(newInputStreamReader(pr.getInputStream()));
Stringline="";
StringBuilderresponse=newStringBuilder();
while((line=br.readLine())!=null){
response.append(line);
br.close();
//設(shè)置成可在jmeter中使用的變量,filepath為目標(biāo)XML文件所在位置
vars.put("filepath",response.toString());
4.使用獲得的輸出信息
后續(xù)需要使用輸出變量時,可以通過${變量名}的形式進(jìn)行參數(shù)化。
三、運(yùn)行調(diào)試
添加后置處理器調(diào)試后置處理程序及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)域經(jīng)濟(jì)生態(tài)圈構(gòu)建與發(fā)展策略
- 甲醛中毒的臨床護(hù)理
- 醫(yī)療健康行業(yè)的綠色環(huán)保發(fā)展策略研究
- 倒水泥混凝土合同范例
- 企業(yè)綠化實施合同范例
- 住房認(rèn)購合同范例
- 醫(yī)療大數(shù)據(jù)的倫理教育在行業(yè)中的重要性
- 烏魯木齊房屋預(yù)售合同范例
- 健康信息在公共政策制定中的貢獻(xiàn)及保護(hù)措施探討
- 供應(yīng)鏈透明化在醫(yī)療領(lǐng)域的應(yīng)用與挑戰(zhàn)
- 中醫(yī)內(nèi)科學(xué)(十版)
- 成品檢驗記錄表
- DB33-T 2196-2019水利工程標(biāo)識牌設(shè)置規(guī)范
- 基于前藥原理的藥物設(shè)計解析課件
- 2022年上海海洋大學(xué)食品科學(xué)復(fù)試資料
- 病例報告表(CRF)模板
- 我把沒有送給你(課堂版)(1)
- 杭汽HNKS50-63-28型汽輪機(jī)大修施工方案
- Q∕GDW 12113-2021 邊緣物聯(lián)代理技術(shù)要求
- 劉半農(nóng)雨散文的特點(diǎn)
- 濰柴發(fā)動機(jī)WD615系列分解圖冊
評論
0/150
提交評論