生活随笔
收集整理的這篇文章主要介紹了
Jmeter个人使用部分整理2021
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Jmeter個人使用部分整理 一、變量名協同使用方法 二、個人常用參數提取操作 三、POST入參 四、變量類 - 函數 1、時間類 2、多項隨機一項 3、隨機數字 4、隨機字符 五、解決中文亂碼 六、數據庫連接 七、Jmeter下載導出保存為文件(BeanShell后置處理) 八、jmeter+Ant+Jenkins接口自動化測試集成 其他 版本歷史
介于個人經常忘記了部分使用的場景,記錄下來部分操作;
一、變量名協同使用方法
協同的目的主要是對Jmeter線程變量或全局變量名稱做下協定處理,達到盡量避免變量名重復的場景發生; 記錄一下個人使用的基本命名規則【應用端+類名+類型+角色/模塊+數字編號(4位)】 例:pc_user_id_admin_0001 或 puia00001 或 pcuseridadmin0001 等
個人認為一般情況下需要對使用的變量名進行全部分保留,以防止占用導致重名發生; 如:user,time,status,type,file,system,id,name,start,pc,app,end,userid,username,pwd,msg,message,password,os 等
二、個人常用參數提取操作
1、正則表達式提取器 2、JSON提取(多參和單參)
三、POST入參
請求信息頭:
名稱值 content-type application/json
四、變量類 - 函數
1、時間類
__time 、 __timeShift
$
{ __time ( yyyy
- MM - dd
) } # 當前年月日
$
{ __time ( yyyy
) } # 當前年
$
{ __time ( MM ) } # 當前月
$
{ __timeShift ( yyyy
- MM - dd
, , P + 3d , , ) } # 當前時間
+ 3 天
2、多項隨機一項
__RandomFromMultipleVars
$
{ __RandomFromMultipleVars ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) } # 函數名(引用的變量
1 | 變量
2 | 變量
3 | . . . )
3、隨機數字
__Random
$
{ __Random ( 1000001 , 2000000 ) } # 函數名(最小數字,最大數字)
4、隨機字符
__RandomString
$
{ __RandomString ( 12 , sdIOkjcLS78543fprojDG216ectName
) } # 函數名(隨機生成的位數,基礎內容)
五、解決中文亂碼
添加BeanShell后置處理程序 - 內容: prev.setDataEncoding(“utf-8”);
六、數據庫連接
1、下載連接mysql數據庫jar包,地址:https://files.cnblogs.com/files/xiaoxitest/ojdbc6-1.0.zip(因不支持上傳.jar文件,下載后需要手動把擴展名改為.jar) 2、將文件拷貝到Jmeter\lib\ext目錄下,我的是:D:\Program Files\apache-jmeter-3.1\lib\ext 3、啟動Jmeter,依次添加線程組、JDBC Connection Configuration(添加 - 配置元件 - JDBC Connection Configuration) 4、配置數據庫連接 oracle.jdbc.driver.OracleDriver 注意:替換數據庫IP地址、實例名以及用戶名、密碼。 5、添加線程組 JDBC Request 6、輸入變量名稱(一定要和JDBC Connection Configuration里的變量名稱一致)和SQL語句。 7、添加查看結果樹執行
七、Jmeter下載導出保存為文件(BeanShell后置處理)
${__BeanShell(import org.apache.jmeter.services.FileServer;FileServer.getFileServer().getBaseDir();)}
import java.io.*;
byte[] result = prev.getResponseData(); //獲取請求返回的數據,prev是獲取上個請求的返回
String file_name = vars.get("jmx_file") + "/下載/" + "202211.xlsx"; //代表存放文件的位置和文件名
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
八、jmeter+Ant+Jenkins接口自動化測試集成
可參照原文鏈接:jmeter+Ant+Jenkins接口自動化測試集成之報告優化(王大力測試進階之路) 引用部分外部資源-本文僅做記錄 增加更加詳細測試報告及優化jenkins測試報告樣式顯示 樣式文件:jmeter-results-shanhe-me.xsl 1、下載優化模板 jmeter-results-shanhe-me.xsl,拷貝到jmeter的C:\jmeter\apache-jmeter-5.0\extras目錄中(自己對應的Jmeter內的目錄下) 2、設置測試輸出報告要輸出的內容:同樣在jmeter.properties中,設置需要輸出的內容為true,并去掉前面的注釋符號#,這里全部設置成true→保存 部分文件內容:
jmeter
. save
. saveservice
. data_type
= true
jmeter
. save
. saveservice
. label
= true
jmeter
. save
. saveservice
. response_code
= true
jmeter
. save
. saveservice
. response_data
= true
jmeter
. save
. saveservice
. response_data
. on_error
= false
jmeter
. save
. saveservice
. response_message
= true
jmeter
. save
. saveservice
. successful
= true
jmeter
. save
. saveservice
. thread_name
= true
jmeter
. save
. saveservice
. time
= true
jmeter
. save
. saveservice
. subresults
= true
jmeter
. save
. saveservice
. assertions
= true
jmeter
. save
. saveservice
. latency
= true
jmeter
. save
. saveservice
. connect_time
= true
jmeter
. save
. saveservice
. samplerData
= true
jmeter
. save
. saveservice
. responseHeaders
= true
jmeter
. save
. saveservice
. requestHeaders
= true
jmeter
. save
. saveservice
. encoding
= true
jmeter
. save
. saveservice
. bytes = true
jmeter
. save
. saveservice
. url
= true
jmeter
. save
. saveservice
. filename
= true
jmeter
. save
. saveservice
. hostname
= true
jmeter
. save
. saveservice
. thread_counts
= true
jmeter
. save
. saveservice
. sample_count
= true
jmeter
. save
. saveservice
. idle_time
= true
3、如果兩種報告都要,設置 build 文件的報告模板為匯總報告和詳情報告
匯總報告
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
詳細報告
style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" >
4、因為要展示兩種報告,build新增內容如下 文件內容
<?xml version="1.0" encoding="utf-8"?>
< project name = " uncleyong_jmeter_test" default = " all" basedir = " ." > < tstamp> < format property = " time" pattern = " yyyyMMdd_hhmmss" /> </ tstamp> < property name = " jmeter.home" value = " C:\jmeter\apache-jmeter-5.0" /> < property name = " jmeter.result.jtl.dir" value = " C:\jmeter\apache-jmeter-5.0\jmeter_ant_jenkins\result\jtl" /> < property name = " jmeter.result.html.dir" value = " C:\jmeter\apache-jmeter-5.0\jmeter_ant_jenkins\result\html" /> < property name = " jmeter.result.html.dir1" value = " C:\jmeter\apache-jmeter-5.0\jmeter_ant_jenkins\result\html1" /> < property name = " ReportName" value = " result_" /> < property name = " ReportName1" value = " result_1" /> < property name = " jmeter.result.jtlName" value = " ${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> < property name = " jmeter.result.htmlName" value = " ${jmeter.result.html.dir}/${ReportName}${time}.html" /> < property name = " jmeter.result.htmlName1" value = " ${jmeter.result.html.dir1}/${ReportName}${time}.html" /> < property name = " ComputerName" value = " jmeter_ant_jenkins" /> < target name = " all" > < antcall target = " test" /> < antcall target = " report" /> </ target> < target name = " test" > < taskdef name = " jmeter" classname = " org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> < jmeter jmeterhome = " ${jmeter.home}" resultlog = " ${jmeter.result.jtlName}" > < testplans dir = " C:\jmeter\apache-jmeter-5.0\jmeter_ant_jenkins\jmeter_script" includes = " *.jmx" /> < property name = " jmeter.save.saveservice.output_format" value = " xml" /> </ jmeter> </ target> < path id = " xslt.classpath" > < fileset dir = " ${jmeter.home}/lib" includes = " xalan*.jar" /> < fileset dir = " ${jmeter.home}/lib" includes = " serializer*.jar" /> </ path> < target name = " report" > < tstamp> < format property = " report.datestamp" pattern = " yyyy/MM/dd HH:mm" /> </ tstamp> < xslt classpathref = " xslt.classpath" force = " true" in = " ${jmeter.result.jtlName}" out = " ${jmeter.result.htmlName}" style = " $ { jmeter.home} /extras/jmeter-results-detail-report_21.xsl" > < param name = " dateReport" expression = " ${report.datestamp}" /> </ xslt> < xslt classpathref = " xslt.classpath" force = " true" in = " ${jmeter.result.jtlName}" out = " ${jmeter.result.htmlName1}" style = " $ { jmeter.home} /extras/jmeter.results.shanhe.me.xsl" > < param name = " dateReport" expression = " ${report.datestamp}" /> </ xslt> < copy todir = " ${jmeter.result.html.dir}" > < fileset dir = " ${jmeter.home}/extras" > < include name = " collapse.png" /> < include name = " expand.png" /> </ fileset> </ copy> </ target>
</ project>
5、存放測試報告目錄如下 uncleyong jmeter路徑下 --jmeter_script 存放jmeter腳本 .jmx --result --html 存放生成的html測試報告概要 –html1 存放生成的html詳細測試報告 --jtl 存放生成的jtl測試報告 build.xml build文件 6、jenkins配置-構建后操作新增如下
7、jenkins構建成功控制臺輸出 8、詳細測試報告 9、解決jenkins html測試報告顯示樣式問題 Manage Jenkins—Script Console中輸入System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”,“”) 點右下角運行 10、jenkins再次構建成功,查看匯總測試報告和詳細測試報告,樣式顯示已正常
其他
1、個人收藏/記錄的鏈接:
jmeter-個人總結(燕歸西風) jmeter+Ant+Jenkins接口自動化測試集成之報告優化(王大力測試進階之路) Jmeter 官網 Jmeter 插件安裝
版本歷史
版本更新時間變更內容其他備注 V1.0 2022011310 新增文檔 - - V1.1 2022011311 調整文檔內容,增加收藏的鏈接 - - V1.2 2022111816 調整文檔內容,增加Jmeter下載導出保存為文件(BeanShell后置處理) - -
總結
以上是生活随笔 為你收集整理的Jmeter个人使用部分整理2021 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。