版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件2目錄JMeter介紹JMeter介紹誰在使用JMeterJMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)2ppt課件2目錄JMeter介紹2ppt課件3JMeter介紹JMeter是基于Java的,開放源代碼的性能測試工具能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測試可以對任何數(shù)據(jù)庫進(jìn)行同樣的測試(通過JDBC)各種負(fù)載統(tǒng)計表和可鏈接的計時器可供選擇緩存和離線分析/回放測試結(jié)果完全多線程框架高可擴(kuò)展性免費/開源3ppt課件3JMeter介紹JMeter是基于Java的,開放源代碼的4誰在使用JMeter4ppt課件4誰在使用JMeter4ppt課件誰在使用JMeter移動夢網(wǎng)搜索項目盤古搜索項目55ppt課件誰在使用JMeter移動夢網(wǎng)搜索項目55ppt課件6目錄JMeter介紹JMeter與Loadrunner的對比支持的協(xié)議對比功能對比使用對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)6ppt課件6目錄JMeter介紹6ppt課件7支持的協(xié)議對比JMeter支持的協(xié)議Web(HTTP/HTTPS),SOAP,F(xiàn)TP,Database(JDBC),LDAP,JMS,Mail(POP3/IMAP),JAVALoadrunner支持的協(xié)議WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDualProtocolSQLServer、MSODBC、Oracle、DB2、SybaseCTlib、SybaseDBlib、DomainNameResolution(DNS)、WindowsSocketCOM/DCOM、Corba-Java、Rmi_JavaEJB、Rmi_JavaOracleNCA、SAP-Web、SAPGUI、SAPGUI/SAP-WebDualProtocol、PropleSoft_Tuxedo、SiebelWeb、Siebel-DB2CLI、Sieble-MSSQL、SiebleOracle……JMeter支持的協(xié)議相對Loadrunner較少,但是可以通過二次開發(fā)來實現(xiàn)7ppt課件7支持的協(xié)議對比JMeter支持的協(xié)議JMeter支持的協(xié)議8JMeter與Loadrunner功能對比8ppt課件8JMeter與Loadrunner功能對比8ppt課件9使用對比9ppt課件9使用對比9ppt課件10目錄JMeter介紹JMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter主要組件介紹腳本錄制運行JMeter參數(shù)化設(shè)置動態(tài)關(guān)聯(lián)場景設(shè)置JMeter測試實例JMeter二次開發(fā)10ppt課件10目錄JMeter介紹10ppt課件11JMeter主要組件(測試計劃)測試計劃(TestPlan)是使用JMeter進(jìn)行測試的起點,它是其它JMeter測試元件的容器。用戶定義的變量:用戶可以自己定義變量,在用到此變量的時候直接用${變量名}引用即可。例如:${ip},${port}Adddirectoryorjartoclasspath:向類路徑即%JMeter-HOME%\lib中添加目錄及jar包11ppt課件11JMeter主要組件(測試計劃)測試計劃(TestPl12JMeter主要組件(線程組)名稱:線程組的名字。線程數(shù):設(shè)置發(fā)送請求的用戶數(shù)目,即并發(fā)數(shù)。Ramp-UpPeriod(insecond):線程啟動的時間,單位是秒。即所有線程在多少時間內(nèi)啟動。循環(huán)次數(shù):請求的重復(fù)次數(shù),如果選擇后面的“永遠(yuǎn)”,那么請求將一直繼續(xù);而在輸入框中輸入數(shù)字,那么請求將重復(fù)指定的次數(shù),如果輸入1,那么請求將執(zhí)行一次。啟動時間:測試計劃什么時候啟動。結(jié)束時間:測試計劃什么時候結(jié)束。持續(xù)時間:測試計劃持續(xù)多長時間,會覆蓋結(jié)束時間。啟動延遲:測試計劃延遲多長時間啟動,會覆蓋啟動時間。12ppt課件12JMeter主要組件(線程組)名稱:線程組的名字。12p13JMeter主要組件(取樣器)名稱:HTTP請求的名字。Web服務(wù)器-服務(wù)器名稱或IP、端口號,腳本錄制時自動添加,也可以使用“用戶自定義變量”。HTTP請求:用默認(rèn)值即可。同請求一起發(fā)送參數(shù):請求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動態(tài)數(shù)據(jù)關(guān)聯(lián),后面專門介紹。同請求一起發(fā)送文件:我可以制定同請求一起發(fā)送哪個文件。其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器13ppt課件13JMeter主要組件(取樣器)名稱:HTTP請求的名字。14JMeter主要組件(監(jiān)聽器)監(jiān)聽器(Listener)負(fù)責(zé)收集測試結(jié)果,支持將結(jié)果數(shù)據(jù)寫入文件。同時也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報告、查看結(jié)果樹、用表格查看結(jié)果、圖形結(jié)果14ppt課件14JMeter主要組件(監(jiān)聽器)監(jiān)聽器(Listener)JMeter主要組件聚合報告:Label:這里對應(yīng)一個HTTPRequest,顯示的就是Name屬性的值;#Samples:表示你這次測試中一共發(fā)出了多少個請求;Average:平均響應(yīng)時間,默認(rèn)情況下是單個Request的平均響應(yīng)時間,當(dāng)使用了“事務(wù)控制器”時,以事務(wù)為單位為單位顯示平均響應(yīng)時間Median:中位數(shù),也就是50%用戶的響應(yīng)時間90%Line:90%用戶的響應(yīng)時間Min:最小響應(yīng)時間Max:最大響應(yīng)時間Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)Throughput:吞吐量,默認(rèn)情況下表示每秒完成的請求數(shù)。KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量15ppt課件JMeter主要組件聚合報告:15ppt課件JMeter主要組件查看結(jié)果樹
顯示取樣器請求和響應(yīng)的細(xì)節(jié),包括消息報頭,請求的數(shù)據(jù),相應(yīng)數(shù)據(jù)16ppt課件JMeter主要組件查看結(jié)果樹
顯示取樣器請求和響應(yīng)的細(xì)節(jié),JMeter主要組件表格查看結(jié)果
顯示每一請求的信息,包括發(fā)起請求的線程,開始時間,請求響應(yīng)時間,請求字節(jié)數(shù)17ppt課件JMeter主要組件表格查看結(jié)果
顯示每一請求的信息,包括發(fā)JMeter主要組件圖形結(jié)果18ppt課件JMeter主要組件圖形結(jié)果18ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制利用Badboy進(jìn)行腳本錄制,再轉(zhuǎn)為JMeter腳本1919ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制1919使用JMeter錄制在測試計劃中添加線程組,在線程組中添加“配置元件”-“HTTP請求默認(rèn)值”,設(shè)置被測系統(tǒng)的IP和端口。在“工作臺”中添加“非測試元件”-“HTTP代理服務(wù)器”。端口:即代理服務(wù)器的監(jiān)聽端口,設(shè)為9999。目標(biāo)控制器選擇測試計劃中的線程組;分組選擇:不對樣本分組。排除模式:.*.jpg,.*.gif配置瀏覽器代理,和“HTTP代理服務(wù)器”設(shè)置保持一致啟動JMeter工作臺“HTTP代理服務(wù)器”;打開瀏覽器,登錄測試網(wǎng)站,在測試網(wǎng)頁上進(jìn)行操作;完成后,停止JMeter工作臺“HTTP代理服務(wù)器”;2020ppt課件使用JMeter錄制在測試計劃中添加線程組,在線程組中添加“使用JMeter錄制2121ppt課件使用JMeter錄制2121ppt課件使用Badboy錄制使用Badboy錄制選擇“File->ExporttoJMeter”菜單,導(dǎo)出為JMeter腳本,使用JMeter打開2222ppt課件使用Badboy錄制使用Badboy錄制2222ppt課件運行JMeter進(jìn)行測試圖形界面命令行模式運行JMeter.sh-n–ttest.jmx-llog.jtl-n告知JMeter采用非圖形化運行JMeter腳本-t指定要運行的腳本文件-l指定保存執(zhí)行結(jié)果的文件名23ppt課件運行JMeter進(jìn)行測試圖形界面23ppt課件參數(shù)化設(shè)置在我們的過程中,通常會提交一些參數(shù),使用不同的參數(shù)值來模擬才更接近實際情況。參數(shù)定義后,使用${paramName}既可以使用2424ppt課件參數(shù)化設(shè)置在我們的過程中,通常會提交一些參數(shù),使用不同的參數(shù)參數(shù)化設(shè)置用戶自定義變量使用測試計劃中的用戶定義變量作為參數(shù)一般定義全局變量,如:IP,端口文件參數(shù)利用配置元件中的CSVDataSetConfig進(jìn)行參數(shù)化設(shè)置函數(shù)參數(shù)使用JMeter提供的函數(shù)進(jìn)行參數(shù)化JMeter提供“函數(shù)助手”的向?qū)?525ppt課件參數(shù)化設(shè)置用戶自定義變量使用測試計劃中的用戶定義變量作為參數(shù)用戶自定義變量2626ppt課件用戶自定義變量2626ppt課件文件參數(shù)在一個HTTP請求中,要提交多個參數(shù),其中category,query兩個參數(shù)需要做參數(shù)化,數(shù)據(jù)保存在文件中2727ppt課件文件參數(shù)在一個HTTP請求中,要提交多個參數(shù),其中categ文件參數(shù)使用配置元件-CSVDataSetConfig28Filename文件名:即參數(shù)化要引用的文件名Fileencoding:文件編碼:可以不填。VariableNames(comma-delimited)變量名(用逗號分割):多個變量可以引用同一個文件,用逗號分割。這里是num1,num2Delimiter:參數(shù)文件中多個變量值的分隔符,\t表示用tab鍵分割,默認(rèn)是逗號。RecycleonEOF:結(jié)束后是否循環(huán)?默認(rèn)是True.28ppt課件文件參數(shù)使用配置元件-CSVDataSetConfig函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個函數(shù);2929ppt課件函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個函數(shù);29文件參數(shù)選擇一個功能_Random。設(shè)定最小值為1。設(shè)定最大值為100。函數(shù)名稱設(shè)為num1。點擊生成將生成一個引用字符串${_Random(0,100,num1},在需要的請求參數(shù)中拷貝該字符串即可。其中函數(shù)名稱用來在引用中作區(qū)別,即我們可以設(shè)定不同的名稱在不同的地方引用同一個函數(shù)的功能。3030ppt課件文件參數(shù)選擇一個功能_Random。3030ppt課件動態(tài)關(guān)聯(lián)在HTTP請求的參數(shù)中經(jīng)常會遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來獲取這些動態(tài)的數(shù)據(jù)。正則表達(dá)式允許用戶從服務(wù)器響應(yīng)中獲取數(shù)據(jù),作為一個后置處理器,正則表達(dá)式提取器會在每一個請求執(zhí)行后再執(zhí)行,正則表達(dá)式提取請求的參數(shù)值,產(chǎn)生模板字符串,并將結(jié)果保存到給出的變量中。3131ppt課件動態(tài)關(guān)聯(lián)在HTTP請求的參數(shù)中經(jīng)常會遇到一些參數(shù)的值是從服務(wù)動態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運行一遍錄制的腳本,使用“察看結(jié)果樹”監(jiān)聽器,分析那些需要做動態(tài)關(guān)聯(lián)(一般建議先使用HttpWatch分析那些要做動態(tài)關(guān)聯(lián));以基于WEB_BAS的SQMAS為例。經(jīng)過分析,在登錄時,會cookie會記錄一個JSESSIONID,每次提交請求時,會post一個ticket。3232ppt課件動態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運行一遍錄制的腳本,使用“察看結(jié)動態(tài)關(guān)聯(lián)添加一個正則表達(dá)式提取器,提取JSESSIONID;可以添加一個響應(yīng)斷言,測試提取結(jié)果;${jessionid_g1}表示匹配第一組數(shù)值,這里只有一個,也可以直接使用${jessionid}3333ppt課件動態(tài)關(guān)聯(lián)添加一個正則表達(dá)式提取器,提取JSESSIONID;動態(tài)關(guān)聯(lián)運行測試計劃,測試提取結(jié)果3434ppt課件動態(tài)關(guān)聯(lián)運行測試計劃,測試提取結(jié)果3434ppt課件動態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID3535ppt課件動態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID35場景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實現(xiàn)多樣化的場景控制。常用的邏輯控制器有:循環(huán)控制器,事務(wù)控制器3636ppt課件場景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實現(xiàn)JMeter測試實例HTTPGET測試基于WEB_BAS的測試實例HTTPXML測試3737ppt課件JMeter測試實例HTTPGET測試3737ppt課件目錄38JMeter介紹JMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)自定義協(xié)議實現(xiàn)思路應(yīng)用舉例38ppt課件目錄38JMeter介紹38ppt課件HTTPGET測試3939ppt課件HTTPGET測試3939ppt課件基于WEB_BAS的測試實例4040ppt課件基于WEB_BAS的測試實例4040ppt課件JMeter二次開發(fā)JMeter取樣器提供了一些協(xié)議的測試支持。如果不能滿足測試需要,需要做二次開發(fā)。JMeter是基于Java語言實現(xiàn)的,例如http請求,它只是用Java代碼封裝了Http的協(xié)議,內(nèi)部其實使用了Java的類庫來對應(yīng)用發(fā)送請求的,所以通過Java請求的性能測試,我們可以做任意自定義協(xié)議請求的性能測試4141ppt課件JMeter二次開發(fā)JMeter取樣器提供了一些協(xié)議的測試支JMeter自定義協(xié)議實現(xiàn)思路新建一個測試類,繼承org.apache.
tocol.java.sampler.AbstractJavaSamplerClient實現(xiàn)getDefaultParameters,setupTest,runTest,teardownTest方法getDefaultParameters是配置參數(shù)的方法setupTest和teardownTest與JUnit中的類似,分別在測試的開始和結(jié)束時執(zhí)行。runTest為主要測試方法,所有測試程序都在這里完成。4242ppt課件JMeter自定義協(xié)議實現(xiàn)思路新建一個測試類,繼承org.a應(yīng)用舉例盤古索引項目需要對后臺分布式索引系統(tǒng)進(jìn)行性能測試,經(jīng)過分析,直接對web搜索頁面進(jìn)行測試得到不能得到真實的性能情況。解決方法:使用JMeter二次開發(fā),調(diào)用分布文件系統(tǒng)的查詢API進(jìn)行性能測試4343ppt課件應(yīng)用舉例盤古索引項目需要對后臺分布式索引系統(tǒng)進(jìn)行性能測試,經(jīng)應(yīng)用舉例創(chuàng)建一個indexBaseTest類44publicclassindexBaseTestextendsAbstractJavaSamplerClientimplementsSerializable{}44ppt課件應(yīng)用舉例創(chuàng)建一個indexBaseTest類44public應(yīng)用舉例實現(xiàn)getDefaultParameters方法45publicArgumentsgetDefaultParameters(){Argumentsparams=newArguments();//增加一個參數(shù),默認(rèn)值為空,參數(shù)名顯示為params.addArgument("KEY","");returnparams;}45ppt課件應(yīng)用舉例實現(xiàn)getDefaultParameters方法45應(yīng)用舉例實現(xiàn)setupTest方法46publicvoidsetupTest(JavaSamplerContextcontext){getLogger().debug(whoAmI()+"\tsetupTest()");listParameters(context);try{ ………… //根據(jù)索引名稱初始化一個索引實例
index=newIndex(indexName);}catch(IOExceptione){ e.printStackTrace();}catch(Exceptione){ e.printStackTrace();}}46ppt課件應(yīng)用舉例實現(xiàn)setupTest方法46publicvoid應(yīng)用舉例實現(xiàn)runTest方法,實現(xiàn)測試47publicSampleResultrunTest(JavaSamplerContextcontext){SampleResultresults=newSampleResult();key=context.getParameter("KEY","");//取查詢參數(shù)
results.sampleStart();//事務(wù)開始
try{ …… reps_hello=index.search(queryKey,filter,0,100,1,flds);
results.setSuccessful(true);//設(shè)置事務(wù)成功
}catch(Exceptione){ ……
results.setSuccessful(false);}finally{}results.sampleEnd();……returnresults;}47ppt課件應(yīng)用舉例實現(xiàn)runTest方法,實現(xiàn)測試47publicS應(yīng)用舉例實現(xiàn)teardownTest方法,清理對象48publicvoidteardownTest(JavaSamplerContextcontext){try{
index.close(); getLogger().debug(whoAmI()+"\tteardownTest()"); listParameters(context);}catch(IOExceptione){ e.printStackTrace();}catch(Exceptione){ e.printStackTrace();}}48ppt課件應(yīng)用舉例實現(xiàn)teardownTest方法,清理對象48pub應(yīng)用舉例4949ppt課件應(yīng)用舉例4949ppt課件培訓(xùn)資料\\asp-sz-file\public\tmp\JMeter培訓(xùn)5050ppt課件培訓(xùn)資料\\asp-sz-file\public\tmp\J謝謝!5151ppt課件謝謝!5151ppt課件52JMeter基礎(chǔ)培訓(xùn)2011年7月52ppt課件1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件53目錄JMeter介紹JMeter介紹誰在使用JMeterJMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)53ppt課件2目錄JMeter介紹2ppt課件54JMeter介紹JMeter是基于Java的,開放源代碼的性能測試工具能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測試可以對任何數(shù)據(jù)庫進(jìn)行同樣的測試(通過JDBC)各種負(fù)載統(tǒng)計表和可鏈接的計時器可供選擇緩存和離線分析/回放測試結(jié)果完全多線程框架高可擴(kuò)展性免費/開源54ppt課件3JMeter介紹JMeter是基于Java的,開放源代碼的55誰在使用JMeter55ppt課件4誰在使用JMeter4ppt課件誰在使用JMeter移動夢網(wǎng)搜索項目盤古搜索項目5656ppt課件誰在使用JMeter移動夢網(wǎng)搜索項目55ppt課件57目錄JMeter介紹JMeter與Loadrunner的對比支持的協(xié)議對比功能對比使用對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)57ppt課件6目錄JMeter介紹6ppt課件58支持的協(xié)議對比JMeter支持的協(xié)議Web(HTTP/HTTPS),SOAP,F(xiàn)TP,Database(JDBC),LDAP,JMS,Mail(POP3/IMAP),JAVALoadrunner支持的協(xié)議WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDualProtocolSQLServer、MSODBC、Oracle、DB2、SybaseCTlib、SybaseDBlib、DomainNameResolution(DNS)、WindowsSocketCOM/DCOM、Corba-Java、Rmi_JavaEJB、Rmi_JavaOracleNCA、SAP-Web、SAPGUI、SAPGUI/SAP-WebDualProtocol、PropleSoft_Tuxedo、SiebelWeb、Siebel-DB2CLI、Sieble-MSSQL、SiebleOracle……JMeter支持的協(xié)議相對Loadrunner較少,但是可以通過二次開發(fā)來實現(xiàn)58ppt課件7支持的協(xié)議對比JMeter支持的協(xié)議JMeter支持的協(xié)議59JMeter與Loadrunner功能對比59ppt課件8JMeter與Loadrunner功能對比8ppt課件60使用對比60ppt課件9使用對比9ppt課件61目錄JMeter介紹JMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter主要組件介紹腳本錄制運行JMeter參數(shù)化設(shè)置動態(tài)關(guān)聯(lián)場景設(shè)置JMeter測試實例JMeter二次開發(fā)61ppt課件10目錄JMeter介紹10ppt課件62JMeter主要組件(測試計劃)測試計劃(TestPlan)是使用JMeter進(jìn)行測試的起點,它是其它JMeter測試元件的容器。用戶定義的變量:用戶可以自己定義變量,在用到此變量的時候直接用${變量名}引用即可。例如:${ip},${port}Adddirectoryorjartoclasspath:向類路徑即%JMeter-HOME%\lib中添加目錄及jar包62ppt課件11JMeter主要組件(測試計劃)測試計劃(TestPl63JMeter主要組件(線程組)名稱:線程組的名字。線程數(shù):設(shè)置發(fā)送請求的用戶數(shù)目,即并發(fā)數(shù)。Ramp-UpPeriod(insecond):線程啟動的時間,單位是秒。即所有線程在多少時間內(nèi)啟動。循環(huán)次數(shù):請求的重復(fù)次數(shù),如果選擇后面的“永遠(yuǎn)”,那么請求將一直繼續(xù);而在輸入框中輸入數(shù)字,那么請求將重復(fù)指定的次數(shù),如果輸入1,那么請求將執(zhí)行一次。啟動時間:測試計劃什么時候啟動。結(jié)束時間:測試計劃什么時候結(jié)束。持續(xù)時間:測試計劃持續(xù)多長時間,會覆蓋結(jié)束時間。啟動延遲:測試計劃延遲多長時間啟動,會覆蓋啟動時間。63ppt課件12JMeter主要組件(線程組)名稱:線程組的名字。12p64JMeter主要組件(取樣器)名稱:HTTP請求的名字。Web服務(wù)器-服務(wù)器名稱或IP、端口號,腳本錄制時自動添加,也可以使用“用戶自定義變量”。HTTP請求:用默認(rèn)值即可。同請求一起發(fā)送參數(shù):請求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動態(tài)數(shù)據(jù)關(guān)聯(lián),后面專門介紹。同請求一起發(fā)送文件:我可以制定同請求一起發(fā)送哪個文件。其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器64ppt課件13JMeter主要組件(取樣器)名稱:HTTP請求的名字。65JMeter主要組件(監(jiān)聽器)監(jiān)聽器(Listener)負(fù)責(zé)收集測試結(jié)果,支持將結(jié)果數(shù)據(jù)寫入文件。同時也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報告、查看結(jié)果樹、用表格查看結(jié)果、圖形結(jié)果65ppt課件14JMeter主要組件(監(jiān)聽器)監(jiān)聽器(Listener)JMeter主要組件聚合報告:Label:這里對應(yīng)一個HTTPRequest,顯示的就是Name屬性的值;#Samples:表示你這次測試中一共發(fā)出了多少個請求;Average:平均響應(yīng)時間,默認(rèn)情況下是單個Request的平均響應(yīng)時間,當(dāng)使用了“事務(wù)控制器”時,以事務(wù)為單位為單位顯示平均響應(yīng)時間Median:中位數(shù),也就是50%用戶的響應(yīng)時間90%Line:90%用戶的響應(yīng)時間Min:最小響應(yīng)時間Max:最大響應(yīng)時間Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)Throughput:吞吐量,默認(rèn)情況下表示每秒完成的請求數(shù)。KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量66ppt課件JMeter主要組件聚合報告:15ppt課件JMeter主要組件查看結(jié)果樹
顯示取樣器請求和響應(yīng)的細(xì)節(jié),包括消息報頭,請求的數(shù)據(jù),相應(yīng)數(shù)據(jù)67ppt課件JMeter主要組件查看結(jié)果樹
顯示取樣器請求和響應(yīng)的細(xì)節(jié),JMeter主要組件表格查看結(jié)果
顯示每一請求的信息,包括發(fā)起請求的線程,開始時間,請求響應(yīng)時間,請求字節(jié)數(shù)68ppt課件JMeter主要組件表格查看結(jié)果
顯示每一請求的信息,包括發(fā)JMeter主要組件圖形結(jié)果69ppt課件JMeter主要組件圖形結(jié)果18ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制利用Badboy進(jìn)行腳本錄制,再轉(zhuǎn)為JMeter腳本7070ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制1919使用JMeter錄制在測試計劃中添加線程組,在線程組中添加“配置元件”-“HTTP請求默認(rèn)值”,設(shè)置被測系統(tǒng)的IP和端口。在“工作臺”中添加“非測試元件”-“HTTP代理服務(wù)器”。端口:即代理服務(wù)器的監(jiān)聽端口,設(shè)為9999。目標(biāo)控制器選擇測試計劃中的線程組;分組選擇:不對樣本分組。排除模式:.*.jpg,.*.gif配置瀏覽器代理,和“HTTP代理服務(wù)器”設(shè)置保持一致啟動JMeter工作臺“HTTP代理服務(wù)器”;打開瀏覽器,登錄測試網(wǎng)站,在測試網(wǎng)頁上進(jìn)行操作;完成后,停止JMeter工作臺“HTTP代理服務(wù)器”;7171ppt課件使用JMeter錄制在測試計劃中添加線程組,在線程組中添加“使用JMeter錄制7272ppt課件使用JMeter錄制2121ppt課件使用Badboy錄制使用Badboy錄制選擇“File->ExporttoJMeter”菜單,導(dǎo)出為JMeter腳本,使用JMeter打開7373ppt課件使用Badboy錄制使用Badboy錄制2222ppt課件運行JMeter進(jìn)行測試圖形界面命令行模式運行JMeter.sh-n–ttest.jmx-llog.jtl-n告知JMeter采用非圖形化運行JMeter腳本-t指定要運行的腳本文件-l指定保存執(zhí)行結(jié)果的文件名74ppt課件運行JMeter進(jìn)行測試圖形界面23ppt課件參數(shù)化設(shè)置在我們的過程中,通常會提交一些參數(shù),使用不同的參數(shù)值來模擬才更接近實際情況。參數(shù)定義后,使用${paramName}既可以使用7575ppt課件參數(shù)化設(shè)置在我們的過程中,通常會提交一些參數(shù),使用不同的參數(shù)參數(shù)化設(shè)置用戶自定義變量使用測試計劃中的用戶定義變量作為參數(shù)一般定義全局變量,如:IP,端口文件參數(shù)利用配置元件中的CSVDataSetConfig進(jìn)行參數(shù)化設(shè)置函數(shù)參數(shù)使用JMeter提供的函數(shù)進(jìn)行參數(shù)化JMeter提供“函數(shù)助手”的向?qū)?676ppt課件參數(shù)化設(shè)置用戶自定義變量使用測試計劃中的用戶定義變量作為參數(shù)用戶自定義變量7777ppt課件用戶自定義變量2626ppt課件文件參數(shù)在一個HTTP請求中,要提交多個參數(shù),其中category,query兩個參數(shù)需要做參數(shù)化,數(shù)據(jù)保存在文件中7878ppt課件文件參數(shù)在一個HTTP請求中,要提交多個參數(shù),其中categ文件參數(shù)使用配置元件-CSVDataSetConfig79Filename文件名:即參數(shù)化要引用的文件名Fileencoding:文件編碼:可以不填。VariableNames(comma-delimited)變量名(用逗號分割):多個變量可以引用同一個文件,用逗號分割。這里是num1,num2Delimiter:參數(shù)文件中多個變量值的分隔符,\t表示用tab鍵分割,默認(rèn)是逗號。RecycleonEOF:結(jié)束后是否循環(huán)?默認(rèn)是True.79ppt課件文件參數(shù)使用配置元件-CSVDataSetConfig函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個函數(shù);8080ppt課件函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個函數(shù);29文件參數(shù)選擇一個功能_Random。設(shè)定最小值為1。設(shè)定最大值為100。函數(shù)名稱設(shè)為num1。點擊生成將生成一個引用字符串${_Random(0,100,num1},在需要的請求參數(shù)中拷貝該字符串即可。其中函數(shù)名稱用來在引用中作區(qū)別,即我們可以設(shè)定不同的名稱在不同的地方引用同一個函數(shù)的功能。8181ppt課件文件參數(shù)選擇一個功能_Random。3030ppt課件動態(tài)關(guān)聯(lián)在HTTP請求的參數(shù)中經(jīng)常會遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來獲取這些動態(tài)的數(shù)據(jù)。正則表達(dá)式允許用戶從服務(wù)器響應(yīng)中獲取數(shù)據(jù),作為一個后置處理器,正則表達(dá)式提取器會在每一個請求執(zhí)行后再執(zhí)行,正則表達(dá)式提取請求的參數(shù)值,產(chǎn)生模板字符串,并將結(jié)果保存到給出的變量中。8282ppt課件動態(tài)關(guān)聯(lián)在HTTP請求的參數(shù)中經(jīng)常會遇到一些參數(shù)的值是從服務(wù)動態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運行一遍錄制的腳本,使用“察看結(jié)果樹”監(jiān)聽器,分析那些需要做動態(tài)關(guān)聯(lián)(一般建議先使用HttpWatch分析那些要做動態(tài)關(guān)聯(lián));以基于WEB_BAS的SQMAS為例。經(jīng)過分析,在登錄時,會cookie會記錄一個JSESSIONID,每次提交請求時,會post一個ticket。8383ppt課件動態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運行一遍錄制的腳本,使用“察看結(jié)動態(tài)關(guān)聯(lián)添加一個正則表達(dá)式提取器,提取JSESSIONID;可以添加一個響應(yīng)斷言,測試提取結(jié)果;${jessionid_g1}表示匹配第一組數(shù)值,這里只有一個,也可以直接使用${jessionid}8484ppt課件動態(tài)關(guān)聯(lián)添加一個正則表達(dá)式提取器,提取JSESSIONID;動態(tài)關(guān)聯(lián)運行測試計劃,測試提取結(jié)果8585ppt課件動態(tài)關(guān)聯(lián)運行測試計劃,測試提取結(jié)果3434ppt課件動態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID8686ppt課件動態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID35場景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實現(xiàn)多樣化的場景控制。常用的邏輯控制器有:循環(huán)控制器,事務(wù)控制器8787ppt課件場景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實現(xiàn)JMeter測試實例HTTPGET測試基于WEB_BAS的測試實例HTTPXML測試8888ppt課件JMeter測試實例HTTPGET測試3737ppt課件目錄89JMeter介紹JMeter與Loadrunner的對比JMeter在測試工作的應(yīng)用JMeter二次開發(fā)自定義協(xié)議實現(xiàn)思路應(yīng)用舉例89ppt課件目錄38JMeter介紹38ppt課件HTTPGET測試9090ppt課件HTTPGET測試3939ppt課件基于WEB_BAS的測試實例9191ppt課件基于WEB_BAS的測試實例4040ppt課件JMeter二次開發(fā)JMeter取樣器提供了一些協(xié)議的測試支持。如果不能滿足測試需要,需要做二次開發(fā)。JMeter是基于Java語言實現(xiàn)的,例如http請求,它只是用Java代碼封裝了Http的協(xié)議,內(nèi)部其實使用了Java的類庫來對應(yīng)用發(fā)送請求的,所以通過Java請求的性能測試,我們可以做任意自定義協(xié)議請求的性能測試9292ppt課件JMeter二次開發(fā)JMeter取樣器提供了一些協(xié)議的測試支JMeter自定義協(xié)議實現(xiàn)思路新建一個測試類,繼承org.apache.
tocol.java.sampler.AbstractJavaSamplerClient實現(xiàn)getDefaultParameters,setupTest,runTest,teardownTest方法getDefaultParameters是配置參數(shù)的方法setupTest和teardownTest與JUnit中的類似,分別在測試的開始和結(jié)束時執(zhí)行。runTest為主要測試方法,所有測試程序都在這里完成。9393ppt課件JMeter自定義協(xié)議實現(xiàn)思路新建一個測試類,繼承org.a應(yīng)用舉例盤古索引項目需要對后臺分布式索引系統(tǒng)進(jìn)行性能測試,經(jīng)過分析,直接對web搜索頁面進(jìn)行測試得到不能得到真實的性能情況。解決方法:使用JMeter二次開發(fā),調(diào)用分布文件系統(tǒng)的查詢API進(jìn)行性能測試9494ppt課件應(yīng)用舉例盤古索引項目需要對后臺分布式索引系統(tǒng)進(jìn)行性能測試,經(jīng)應(yīng)用舉例創(chuàng)建一個indexBaseTest類95publicclassindexBaseTestextendsAbstractJavaSamplerClientimplementsSe
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第二十四章 相似三角形(11個知識歸納)
- 1-3單元古詩文默寫訓(xùn)練-2022-2023學(xué)年七年級語文上冊知識梳理與能力訓(xùn)練
- 臨高縣新盈中學(xué)2024-2025學(xué)年高三上學(xué)期期中考試試卷
- 黑龍江省齊齊哈爾市富??h益海學(xué)校2024-2025學(xué)年八年級上學(xué)期期中地理試題(含答案)
- 廣東省深圳市盟校聯(lián)盟2024-2025學(xué)年高一上學(xué)期11月期中物理試題(含解析)
- 一元二次不等式中的含參問題(原卷版)-2024-2025學(xué)年人教版高一數(shù)學(xué)壓軸題攻略
- 2024年四川省公務(wù)員考試《行測》真題及答案解析
- 工廠整體轉(zhuǎn)讓合同樣本
- 2024高考物理一輪復(fù)習(xí):受力分析共點力平衡(練習(xí))(學(xué)生版+解析)
- 有關(guān)產(chǎn)品銷售合同模板匯編
- X鄉(xiāng)初級中學(xué)留守兒童家長學(xué)校章程
- 三角形的重心
- 我國綠色化工未來發(fā)展戰(zhàn)略與思考
- 蘇里南商業(yè)機(jī)會多多
- 高考數(shù)學(xué)小題狂練:每題都附有詳細(xì)解析
- Poka-Yoke防錯技術(shù)(完整版)
- 保安交接班記錄表(2)
- 神明—EZflame火焰檢測系統(tǒng)
- 個人簡歷求職簡歷課件.ppt
- 2018年江蘇高考滿分作文:在母語的屋檐下
- 新青島版五四制2021-2022四年級科學(xué)上冊實驗指導(dǎo)
評論
0/150
提交評論