1. 程式人生 > 其它 >windows下cmd命令列可以在命令列輸入中文,jmeter誇執行緒傳參、jmeter下載文件、引數唯一設定、設定錄製排除模式。

windows下cmd命令列可以在命令列輸入中文,jmeter誇執行緒傳參、jmeter下載文件、引數唯一設定、設定錄製排除模式。

在cmd中輸入CHCP 65001 即可

原著:https://blog.csdn.net/u012282382/article/details/86635878

如下有中文的情況下沒有問題。

二、開啟Cookie管理器管理器。

三、設定引數路徑不用改。

1、設定目錄的好處,就是檔案路徑可以使用相對路徑,這樣可以跨系統(window、linux),跨平臺而不用修改路徑
data(儲存引數)、result(儲存結果)、script(儲存指令碼)
2、要在使用者變數中設定一個變數path,值 ../data/ 的意思代表當前目錄往上一個目錄
3、注意:使用jmeter進行編寫指令碼時,往往會遇到介面需呼叫cookie的問題,新下載使用jmeter時預設Cookie管理器是關閉的,
第一步:
在Jmeter 安裝目錄bin檔案下找到jmeter.properties檔案,開啟該檔案,進行搜尋CookieManager.save.cookies=
將CookieManager.save.cookies=false,false修改成true,注意前面的#號也需要刪掉。
(提示:不要修改檔名稱,路徑固定了,開啟使用就行,不需要在修改引數路徑。)

data :存放使用者賬號引數
result:儲存結果
script:存放指令碼
已經安裝jdk1.8可以直接開啟我這個jmeter直接使用,不需要設定。

四、各種資料總結

jmeter參考資料:https://blog.csdn.net/qq_35705138
1、跨執行緒傳引數:(全域性變數)
右鍵點選獲取檔案流的請求,點選右鍵》新增》後置處理器》BeanShell PostProcessor
BeanShell 後置處理程式;引數${token}
${__setProperty(aa,${token},)};
調傭:${__P(aa)}


2下載檔案儲存
二、編寫beanshel指令碼獲取檔案流儲存
右鍵點選獲取檔案流的請求,點選右鍵》新增》後置處理器》BeanShell PostProcessor
程式碼如下:
import java.io.*;
import org.apache.jmeter.services.FileServer;
byte[] result = prev.getResponseData(); //用來獲取返回的檔案流
String str = FileServer.getFileServer().getBaseDir(); //獲取指令碼執行目錄,我是在script目錄下執行的指令碼
str = str.replace("script", ""); //將目錄去掉script
String file_name = str+"data//${__time(,)}.cgzbwj"; //拼接目錄,把目錄改成data下,這樣儲存的檔案就在data目錄下,time函式用來獲取時間戳,這樣保證每次下載名字不同
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result); //檔案寫入到檔案
out.close();

2.1. 該指令碼程式碼相容windows、linux環境,前提是執行的指令碼目錄結構如下,指令碼儲存到script目錄
注意:要新建三給資料夾
data
result
script(存放指令碼的)

3、3. Linux環境:進入到ServerAgent目錄,執行命令 sh startAgent.sh啟動服務
在Windows下直接點選serverAgent.bat
1.Linux系統監控外掛:上傳serverAgent檔案到伺服器機器上
2.進入serverAgent檔案目錄,給檔案授權
chmod u+x startAgent.sh
3.需要執行以下命令監控伺服器:
sh startAgent.sh
即可執行startAgent.sh檔案
4、2. 錄製過程中,可能錄製的請求引數會顯示亂碼,也需要在jmeter.properties檔案新增sampleresult.default.encoding=UTF-8
包含模式:.*https://www.baidu.com/.*
錄製排除模式:
(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)
(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)[\?;].*
排除.js結尾型別的請求
.*\.js
5執行jmeter指令碼分析:jmeter -n -t rps.jmx -l summary.jtl -e -o report
jmeter -n -t denlu.jmx(指令碼) -l summary.jtl(生成聚合報告) -e -o report(生成HTML報告) -J xx.og(輸出日誌)

6、引數化(使用者引數、CSV 資料檔案設定);關聯(正則表示式提取器)[(.*?) \$1$、呼叫${a}];
響應斷言、JSON斷言$.XX;同步定時器Synchronizing Timer(集合點)、固定定時器;事務控制器;超時時間5000,設定獨立執行執行緒。

7、IP欺騙:http://www.51testing.com/html/48/291148-864399.html

jmeter -n -t D:\\IDM\\jmeter\\dnelu.jmx -l D:\\IDM\\jmeter\\jieguo.jtl -j D:\\IDM\\jmeter\\dnelu100.log -e -o D:\\IDM\\jmeter\\report
執行JMX指令碼命令如下:
jmeter -n -t D:\\IDM\\jmeter\\99.jmx -l D:\\IDM\\jmeter\\summary.jtl -e -o D:\\IDM\\jmeter\\report

8、時間截函式:${__time(,)} ;${__time(HH:mm:ss:SSS,time)}
9、隨機函式${__Random(1,99999,)}
10、jmeter 引數化取唯一值方式(注意需要支援:36個字元)2.新建一個BeanShell Sampler;
新增如下程式碼:還可以用UUID來作為引數:
import java.util.UUID;

UUID uuid1 = UUID.randomUUID(); //獲取UID的值

vars.put( "transferNo" ,(uuid1.toString()).toUpperCase().replaceAll( "-" , "" ));
==============================================
//去掉UUID的“-”,再賦值給transferNo 執行獲取的引數就是:3F2504E04F8911D39A0C0305E82C3301

//vars.put("transferNo",(uuid1.toString()).toUpperCase());
//這個就是不用去掉UUID的“-” 執行獲取到的引數就是:3F2504E0-4F89-11D3-9A0C-0305E82C3301

11、jmeter 引數化取唯一值方式(注意需要支援:14個字元)2.新建一個BeanShell Sampler;

long timeStamp = System.nanoTime();
vars.put("timeStamp",timeStamp+"");
log.info("---------------------------------------"+vars.get("timeStamp"));
12、jmeter唯一標識引數化,自增函式(計數器),Starting value(啟動)1,遞增1,引用名稱ji,${ji}

13、(1)、設定目錄的好處,就是檔案路徑可以使用相對路徑,這樣可以跨系統(window、linux),跨平臺而不用修改路徑
data(儲存引數)、result(儲存結果)、script(儲存指令碼)
(2)、要在使用者變數中設定一個變數path,值 ../data/ 的意思代表當前目錄往上一個目錄

沒有不會的技術,只有你想不到的技術。。。。。。。。。。。。。。