jmeter執(zhí)行python腳本的實現(xiàn)示例_第1頁
jmeter執(zhí)行python腳本的實現(xiàn)示例_第2頁
jmeter執(zhí)行python腳本的實現(xiàn)示例_第3頁
jmeter執(zhí)行python腳本的實現(xiàn)示例_第4頁
jmeter執(zhí)行python腳本的實現(xiàn)示例_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論