




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、利用JMeter進(jìn)行Web測(cè)試,King_W,利用JMeter進(jìn)行Web測(cè)試,JMeter介紹 腳本錄制 運(yùn)行JMeter進(jìn)行測(cè)試 JMeter主要組件介紹 參數(shù)化設(shè)置 動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián) 使用命令行運(yùn)行JMeter腳本 利用XSLT分析JMeter結(jié)果文件,JMeter介紹,JMeter,一個(gè)100的純Java桌面應(yīng)用,它是Apache組織的開(kāi)放源代碼項(xiàng)目,它是功能和性能測(cè)試的工具。JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets、Perl腳本、Java對(duì)象、數(shù)據(jù)庫(kù)和查詢(xún)、ftp服務(wù)器或者其他資源)。原先Jmemer是為Web/HTTP測(cè)試而設(shè)計(jì)的,但是它已經(jīng)擴(kuò)展以支持各種各
2、樣的測(cè)試模塊。它和用于HTTP和SQL數(shù)據(jù)庫(kù)(使用JDBC)的模塊一起運(yùn)送。它可以用來(lái)測(cè)試靜止資料庫(kù)或者活動(dòng)資料庫(kù)中的服務(wù)器的運(yùn)行情況,可以用來(lái)模擬對(duì)服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測(cè)試它的抵抗力,或者用來(lái)分析不同負(fù)荷類(lèi)型下的所有運(yùn)行情況。它也提供了一個(gè)可替換的界面用來(lái)定制數(shù)據(jù)顯示,測(cè)試同步及測(cè)試的創(chuàng)建和執(zhí)行。Jmeter的下載地址:/jmeter/usermanual/index.htmlJMeter 的特性:a) 能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試, 也可以對(duì)任何數(shù)據(jù)庫(kù)進(jìn)行同樣的測(cè)試(通過(guò)JDBC)。b) 完全的可移植性和100 純
3、Java。c) 完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包。d) 完全多線程 框架允許通過(guò)多個(gè)線程并發(fā)取樣和 通過(guò)單獨(dú)的線程組對(duì)不同的功能同時(shí)取樣。e) 精心的GUI設(shè)計(jì)允許快速操作和更精確的計(jì)時(shí)。f) 緩存和離線分析/回放測(cè)試結(jié)果。g) 高可擴(kuò)展性:h) 可鏈接的取樣器允許無(wú)限制的測(cè)試能力。i) 各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇。j) 數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及 以及個(gè)性化。k) 具有提供動(dòng)態(tài)輸入到測(cè)試的功能(包括Javascrpt)。l) 支持腳本變成的取樣器(在1.9.2及以上版本支持BeanShell)。,腳本錄制,利用
4、BadBoy進(jìn)行腳本錄制,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制,利用BadBoy錄制JMeter腳本(1),通過(guò)Badboy的官方網(wǎng)站(.au)下載Badboy的最新版本; 安裝Badboy。安裝過(guò)程同一般的Windows 應(yīng)用程序沒(méi)有什么區(qū)別,安裝完成后你可以在桌面和Windows開(kāi)始菜單中看到相應(yīng)的快捷方式如果找不到,可以找一下Badboy安裝目錄下的Badboy.exe 文件,直接雙擊啟動(dòng)Badboy; 啟動(dòng)Badboy,你可以看到下面的界面。,利用BadBoy錄制JMeter腳本(2),在地址欄(圖中紅色方框標(biāo)注的部分)中輸入你需要錄制的Web應(yīng)用的URL這里我們以 為例 。
5、點(diǎn)擊 開(kāi)始錄制 按鈕(圖中藍(lán)色圓圈標(biāo)注的部分)開(kāi)始錄制。 開(kāi)始錄制后,你可以直接在Badboy內(nèi)嵌的瀏覽器(主界面的右側(cè))中對(duì)被測(cè)應(yīng)用進(jìn)行操作,所有的操作都會(huì)被記錄在主界面左側(cè)的編輯窗口中(圖中黃色方框標(biāo)注的部分)在這個(gè)試驗(yàn)中,我們?cè)赽aidu的搜索引擎中輸入 JMeter 進(jìn)行搜索。不過(guò)錄制下來(lái)的腳本并不是一行行的代碼,而是一個(gè)個(gè)Web對(duì)象這有點(diǎn)像LoadRunner的VuGen中的Tree View視圖; 錄制完成后,點(diǎn)擊工具欄中的“停止錄制”按鈕(圖中紫色方框標(biāo)注的部分),完成腳本的錄制;,利用BadBoy錄制JMeter腳本(3),選擇“File - Export to JMeter”
6、菜單,填寫(xiě)文件名“baidu.jmx”,將錄制好腳本導(dǎo)出為JMeter腳本格式。也可以選擇“File - Save”菜單保存為Badboy腳本; 啟動(dòng)JMeter并打開(kāi)剛剛生成的測(cè)試腳本,就可以用JMeter進(jìn)行測(cè)試了。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(1),在測(cè)試計(jì)劃中添加線程組,在線程組中添加邏輯控制器錄制控制器。 在工作臺(tái)中添加非測(cè)試元件HTTP代理服務(wù)器。 端口:即代理服務(wù)器的監(jiān)聽(tīng)端口,我們?cè)O(shè)為8080。 目標(biāo)控制器選擇:測(cè)試計(jì)劃線程組; 分組選擇:每個(gè)組放入一個(gè)新的控制器。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(2),在HTTP代理服務(wù)器中添加定時(shí)器高斯隨機(jī)定時(shí)
7、器(用于告知Jmeter來(lái)在其生成的HTTP請(qǐng)求中自動(dòng)的增加一個(gè)定時(shí)器)。定時(shí)器將會(huì)使相應(yīng)的的取樣器被延遲。 延時(shí)的規(guī)則是,在上一個(gè)訪問(wèn)請(qǐng)求被響應(yīng)并延時(shí)了指定的時(shí)間后,下一個(gè)被定時(shí)器影響的取樣訪問(wèn)請(qǐng)求才會(huì)被發(fā)送出去。 如果在代理服務(wù)器元件里使用了高斯隨機(jī)定時(shí)器,就應(yīng)該在其中的固定延遲偏移(Constant Delay Offset)設(shè)置項(xiàng)里添上$T(用于自動(dòng)引用紀(jì)錄的延遲時(shí)間)。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(3),代理服務(wù)器配置好以后,點(diǎn)擊啟動(dòng),代理服務(wù)器就會(huì)開(kāi)始記錄所接受的HTTP 訪問(wèn)請(qǐng)求。 打開(kāi)瀏覽器,打開(kāi)Internet選項(xiàng),將局域網(wǎng)(LAN)設(shè)置中的代理服務(wù)器設(shè)為:
8、localhost,端口為在代理服務(wù)器中設(shè)的端口:8080。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(4),在瀏覽器地址欄中輸入地址并進(jìn)行相關(guān)的操作進(jìn)行錄制,錄制完成后, 停止HTTP 代理服務(wù)器; 在錄制控制器元件上單擊右鍵將記錄的元件保存為一個(gè)文件用于以后重用,另外,不要忘了恢復(fù)瀏覽器的代理服務(wù)器設(shè)置。,運(yùn)行Jmeter進(jìn)行測(cè)試(1),腳本錄制完畢后,就可以運(yùn)行JMeter來(lái)進(jìn)行我們的測(cè)試了。 到JMeter的網(wǎng)站/site/downloads/downloads_jmeter.cgi 下載JMeter的最新版本,將zip文件解壓縮到D
9、:/JMeter,運(yùn)行D:/JMeter/bin下的jmeter.bat即可。,運(yùn)行Jmeter進(jìn)行測(cè)試(2),打開(kāi)JMeter會(huì)有一個(gè)默認(rèn)的測(cè)試計(jì)劃,點(diǎn)擊文件打開(kāi),選中錄制的腳本文件如:WebXSample_addUser.jmx,打開(kāi)腳本進(jìn)行測(cè)試。 在線程組上添加監(jiān)聽(tīng)器聚合報(bào)告(用于分析測(cè)試結(jié)果)后,點(diǎn)擊運(yùn)行啟動(dòng),開(kāi)始測(cè)試,測(cè)試完畢后在聚合報(bào)告中就可以看到測(cè)試結(jié)果。一個(gè)簡(jiǎn)單的測(cè)試計(jì)劃就完成了。,運(yùn)行Jmeter進(jìn)行測(cè)試(3),聚合報(bào)告顯示測(cè)試結(jié)果,運(yùn)行Jmeter進(jìn)行測(cè)試(4)聚合報(bào)告詳解,Label:每個(gè) JMeter 的 element (例如 HTTP Request )都有一個(gè) N
10、ame 屬性,這里顯示的就是 Name 屬性的值 #Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求,如果測(cè)試計(jì)劃模擬10個(gè)用戶(hù),每個(gè)用戶(hù)迭代10次,這里就會(huì)顯示100 Average:平均響應(yīng)時(shí)間 默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間,當(dāng)使用了事務(wù)控制器時(shí),也可以以事務(wù)為單位顯示平均響應(yīng)時(shí)間 Median:中位數(shù),也就是 50 用戶(hù)的響應(yīng)時(shí)間 90% Line: 90 用戶(hù)的響應(yīng)時(shí)間 Min:最小響應(yīng)時(shí)間 Max:最大響應(yīng)時(shí)間 Error%:錯(cuò)誤率,本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量 / 請(qǐng)求的總數(shù) Throughput:吞吐量 默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)( Request
11、per Second ) KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,JMeter主要組件介紹,測(cè)試計(jì)劃(Test Plan)是使用 JMeter 進(jìn)行測(cè)試的起點(diǎn),它是其它 JMeter 測(cè)試元件的容器。 線程組(Thread Group)代表一定數(shù)量的并發(fā)用戶(hù),它可以用來(lái)模擬并發(fā)用戶(hù)發(fā)送請(qǐng)求。 取樣器(sampler)定義實(shí)際的請(qǐng)求內(nèi)容,被線程組包含,我們主要用HTTP請(qǐng)求。 監(jiān)聽(tīng)器(Listener) 邏輯控制器(Logic Controller) 斷言(Assertions) 配置元件(Config Element) 前置處理器(Pre Processors)和后置處理器(Post Pr
12、ocessors) 定時(shí)器(Timer),JMeter主要組件介紹測(cè)試計(jì)劃,測(cè)試計(jì)劃(Test Plan)是使用 JMeter 進(jìn)行測(cè)試的起點(diǎn),它是其它 JMeter 測(cè)試元件的容器。 名稱(chēng):你可以為你的測(cè)試計(jì)劃取一個(gè)有意義的名字。 注釋?zhuān)簩?duì)測(cè)試計(jì)劃的注釋。 用戶(hù)定義的變量:用戶(hù)可以自己定義變量,在用到此變量的時(shí)候直接用$變量名引用即可。例:變量名url,值,在需要時(shí)直接用$url即可。 Add directory or jar to classpath:向類(lèi)路徑即%JMETER-HOME%lib中添加目錄及jar包。,JMeter主要組件介紹線程組,名稱(chēng):為線程組起名字。 線程屬性線程數(shù):設(shè)
13、置發(fā)送請(qǐng)求的用戶(hù)數(shù)目 ,即并發(fā)數(shù)。 線程屬性Ramp-Up Period(in second):線程間的時(shí)間間隔,單位是秒。即所有線程在多少時(shí)間內(nèi)啟動(dòng)。 線程屬性循環(huán)次數(shù):請(qǐng)求的重復(fù)次數(shù),如果選擇后面的forever(默認(rèn)),那么 請(qǐng)求將一直繼續(xù),如果不選擇forever,而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù)指定的次數(shù),如果輸入1,那么請(qǐng)求將執(zhí)行一次,如果是0,會(huì)出現(xiàn)問(wèn)題。 調(diào)度器配置啟動(dòng)時(shí)間:測(cè)試計(jì)劃什么時(shí)候啟動(dòng),啟動(dòng)延遲會(huì)覆蓋它。 調(diào)度器配置結(jié)束時(shí)間:測(cè)試計(jì)劃什么時(shí)候結(jié)束,持續(xù)時(shí)間會(huì)覆蓋它。 調(diào)度器配置持續(xù)時(shí)間:測(cè)試計(jì)劃持續(xù)多長(zhǎng)時(shí)間,會(huì)覆蓋結(jié)束時(shí)間。 調(diào)度器配置啟動(dòng)延遲:測(cè)試計(jì)劃延遲多長(zhǎng)時(shí)
14、間啟動(dòng),會(huì)覆蓋啟動(dòng)時(shí)間。,JMeter主要組件介紹取樣器(HTTP請(qǐng)求),名稱(chēng):HTTP請(qǐng)求的名字。 Web服務(wù)器服務(wù)器名稱(chēng)或IP、端口號(hào),腳本錄制時(shí)自動(dòng)添加,也可以使用“用戶(hù)自定義變量”。 HTTP請(qǐng)求:用默認(rèn)值即可。 同請(qǐng)求一起發(fā)送參數(shù):請(qǐng)求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián),我們?cè)诤竺鎸?zhuān)門(mén)介紹。 同請(qǐng)求一起發(fā)送文件:我可以制定同請(qǐng)求一起發(fā)送哪個(gè)文件。 其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器、Embedded URLs must match。,JMeter主要組件介紹監(jiān)聽(tīng)器,監(jiān)聽(tīng)器(Listener)負(fù)責(zé)收集測(cè)試結(jié)果,同時(shí)也被告知了結(jié)果顯示的方式。
15、我們常用的包括:聚合報(bào)告、查看結(jié)果樹(shù)、用表格查看結(jié)果,都支持將結(jié)果數(shù)據(jù)寫(xiě)入文件。其他的添加上去看看就行。聚合報(bào)告前面我們介紹過(guò),后面是查看結(jié)果樹(shù)和用表格查看結(jié)果的截圖。,JMeter主要組件介紹監(jiān)聽(tīng)器(用表格查看結(jié)果),JMeter主要組件介紹監(jiān)聽(tīng)器(查看結(jié)果樹(shù)),JMeter主要組件介紹邏輯控制器,邏輯控制器(Logic Controller)可以自定義JMeter發(fā)送請(qǐng)求的行為邏輯,它與Sampler結(jié)合使用可以模擬復(fù)雜的請(qǐng)求序列。,JMeter主要組件介紹邏輯控制器,循環(huán)控制器可以設(shè)置請(qǐng)求的循環(huán)次數(shù)或永遠(yuǎn)循環(huán)(如果選中永遠(yuǎn)的話(huà))。 事務(wù)控制器可以將多個(gè)請(qǐng)求放在同一個(gè)事務(wù)中。如果選中Geg
16、erate parent sample,則聚合報(bào)告中只顯示事務(wù)控制器的數(shù)據(jù),而不會(huì)顯示其中的各個(gè)請(qǐng)求的數(shù)據(jù),反之則全部顯示。,JMeter主要組件介紹斷言,斷言(Assertions)可以用來(lái)判斷請(qǐng)求響應(yīng)的結(jié)果是否如用戶(hù)所期望的。它可以用來(lái)隔離問(wèn)題域,即在確保功能正確的前提下執(zhí)行壓力測(cè)試。這個(gè)限制對(duì)于有效的測(cè)試是非常有用的。,JMeter主要組件介紹配置元件,配置元件(Config Element)維護(hù)Sampler需要的配置信息,并根據(jù)實(shí)際的需要會(huì)修改請(qǐng)求的內(nèi)容。我們主要在參數(shù)化中用到CSV Data Set Config,JMeter主要組件介紹前置處理器和后置處理器,前置處理器(Pre
17、Processors)和后置處理器(Post Processors)負(fù)責(zé)在生成請(qǐng)求之前和之后完成工作。前置處理器常常用來(lái)修改請(qǐng)求的設(shè)置,后置處理器則常常用來(lái)處理響應(yīng)的數(shù)據(jù)。我們主要在動(dòng)態(tài)關(guān)聯(lián)中用到后置處理器的正則表達(dá)式提取器。,JMeter主要組件介紹定時(shí)器,定時(shí)器(Timer)負(fù)責(zé)定義請(qǐng)求之間的延遲間隔。,參數(shù)化設(shè)置,在我們的測(cè)試計(jì)劃中我們使用的都是HTTP請(qǐng)求,在HTTP請(qǐng)求中常常會(huì)提交一些參數(shù),我們?yōu)榱瞬幌朐诿恳淮握?qǐng)求中都使用相同的參數(shù)值,就要想辦法讓每一次請(qǐng)求的參數(shù)的值都是不一樣的,我們就需要進(jìn)行參數(shù)化設(shè)置,這里我們介紹兩種參數(shù)化設(shè)置的方法。 一種是利用函數(shù)助手中的_Random函數(shù)進(jìn)
18、行參數(shù)化設(shè)置; 一種是利用配置元件中的CSV Data Set Config進(jìn)行參數(shù)化設(shè)置。,參數(shù)化設(shè)置函數(shù)助手(1),JMeter中有一個(gè)函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù),我們可以利用其中的_Random函數(shù)來(lái)進(jìn)行請(qǐng)求中的參數(shù)化設(shè)置。,參數(shù)化設(shè)置函數(shù)助手(2),在JMeter中選擇“選項(xiàng)函數(shù)助手對(duì)話(huà)框”打開(kāi)函數(shù)助手對(duì)話(huà)框。,參數(shù)化設(shè)置函數(shù)助手(3),選擇一個(gè)功能_Random。 設(shè)定最小值為1。 設(shè)定最大值為100。 函數(shù)名稱(chēng)設(shè)為func1。 點(diǎn)擊生成將生成一個(gè)引用字符串$_Random(1,100,func1,在需要的請(qǐng)求參數(shù)中拷貝該字符串即可。 其中函數(shù)名稱(chēng)用來(lái)在引用中作區(qū)別,即我們可以設(shè)定不同的名稱(chēng)在不同的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化產(chǎn)業(yè)中涂層的耐磨損性能研究考核試卷
- 工業(yè)設(shè)計(jì)中的產(chǎn)品生命周期管理考核試卷
- 信托公司業(yè)務(wù)流程標(biāo)準(zhǔn)化考核試卷
- 兔飼養(yǎng)繁殖技術(shù)的優(yōu)化考核試卷
- 新能源汽車(chē)充電設(shè)施規(guī)劃與布局優(yōu)化考核試卷
- 收購(gòu)公司的合同范本
- 營(yíng)業(yè)執(zhí)照合同范本
- 定制柜定金合同范本
- 木材板材加工合同范本
- 紗窗廠用工合同范本
- 《大學(xué)生創(chuàng)新創(chuàng)業(yè)教程》高職大學(xué)生創(chuàng)新創(chuàng)業(yè)課程全套教學(xué)課件
- 中醫(yī)肝與膽課件
- 鋼結(jié)構(gòu)用戶(hù)需求分析報(bào)告
- 3月8日國(guó)際婦女節(jié)主題班會(huì)致敬了不起的她母愛(ài)是生命的搖籃課件
- 圍擋施工方案裝配式鐵馬
- 同步課件:古代非洲與美洲
- 2024年德州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)各版本
- 外陰炎及陰道炎癥課件
- JC-T 746-2023 混凝土瓦標(biāo)準(zhǔn)規(guī)范
- 統(tǒng)編版語(yǔ)文三年級(jí)下冊(cè)全冊(cè)同步分層作業(yè)課課練(含答案)
- 口腔科普知識(shí)問(wèn)答
評(píng)論
0/150
提交評(píng)論