【正文】
eter使用的代理服務(wù)器密碼J, jmeterproperty {argument}={value} 定義附加的 JMeter 屬性D, systemproperty {argument}={value} 定義附加的 System 屬性S, systemPropertyFile {filename} 一個(gè)屬性文件被做為系統(tǒng)屬性添加L, loglevel {argument}={value} 定義日志等級(jí): [category=]level例如 jorphan=INFO or =DEBUGr, runremote從非用戶界面模式啟動(dòng)遠(yuǎn)程服務(wù)器d, homedir {argument} 使用的JMeter目錄 配置 JMeter如果你希望改變JMeter運(yùn)行時(shí)的屬性你需要改變?cè)?。 注意自從 ,。如果在當(dāng)前目錄被發(fā)現(xiàn),這個(gè)文件被自動(dòng)加載。類似的, 被用來(lái)更新系統(tǒng)屬性。 參數(shù)屬性 描述 需要 你可以為你的SSL實(shí)現(xiàn)指定類。如果你想使用來(lái)自sun的JSSE,是這樣: No 。 JMeter默認(rèn)提供支持是在你使用 。 No 你可以指明一個(gè)你的XML解析器實(shí)現(xiàn)。 默認(rèn)值是: No remote_hosts 逗號(hào)分割遠(yuǎn)程JMeter主機(jī)列表。如果你在一個(gè)分布式環(huán)境運(yùn)行JMeter,列出你用JMeter遠(yuǎn)程主機(jī)運(yùn)行的機(jī)器。這允許你使用機(jī)器的用戶界面控制那些服務(wù)器。 No not_in_menu 在JMeter選項(xiàng)屏中你不想看到的組件列表。 如果JMeter被添加越來(lái)越多的組件,你會(huì)希望定制JMeter只出現(xiàn)那些你感興趣的組件。你可以在這兒列出那些類名和他們的類標(biāo)簽(JMeter的用戶界面出現(xiàn)的字符串), 它們將在選項(xiàng)屏中不出現(xiàn)。 No search_paths 列出那些JMeter搜索JMeter附加類的路徑(以。分割);例如增加的取樣器。被添加到lib/ext目錄的任何jar包都被發(fā)現(xiàn)。 No JMeter搜索的有用類庫(kù)的路徑列表。被添加到lib目錄的任何jar包都被發(fā)現(xiàn)。 No 附加的JMeter屬性文件名。 初始化屬性文件后它們被添加,但是在q和J選項(xiàng)被處理之前。 No 附加的系統(tǒng)屬性文件名。 S和D選項(xiàng)被執(zhí)行前被添加。 No 又見 文件注釋,在你改變其它設(shè)置時(shí)會(huì)給你更多的信息3. 創(chuàng)建一個(gè)測(cè)試計(jì)劃一個(gè)測(cè)試計(jì)劃描述了一系列Jmeter運(yùn)行時(shí)要執(zhí)行的步驟。一個(gè)完整的測(cè)試計(jì)劃包含一個(gè)或者多個(gè)線程組,邏輯控制,取樣發(fā)生控制,監(jiān)聽器,定時(shí)器,斷言和配置元件。 添加和刪除元件在一個(gè)樹上通過右擊可以添加 元件到一個(gè)測(cè)試計(jì)劃 ,并且從list列表中選擇一個(gè)新元件?;蛘撸奈募虞d并且通過選擇open選項(xiàng)添加。為了刪除元件,確保元件被選中,正確在元件上右擊,并且選擇remove選項(xiàng)。 加載和保存元件為了從文件加載元件,右擊將要加載元件到的已經(jīng)存在的樹元件,并選擇open選項(xiàng)。選擇你的元件保存的文件。JMeter會(huì)加載元件到樹中。為了保存樹元件,在一個(gè)元件上右擊,選擇save選項(xiàng)。JMeter會(huì)保存已選的元件,加上所有下面的子元件。用這種方法,你能夠保存測(cè)試樹段,單獨(dú)元件,或者這個(gè)測(cè)試計(jì)劃。 配置樹元件在測(cè)試樹中的任何元件控制在JMeter的右手結(jié)構(gòu)。那些控制允許你配置測(cè)試元件的細(xì)節(jié)行為,什么被配置為一個(gè)依賴元件類型的元件??梢酝ㄟ^拖拉測(cè)試樹周圍的元件操作測(cè)試樹。 運(yùn)行一個(gè)測(cè)試計(jì)劃為了運(yùn)行一個(gè)測(cè)試計(jì)劃,從run菜單項(xiàng)選擇start。為了停止你的測(cè)試計(jì)劃,從同樣的菜單選擇stop。JMeter 不會(huì)自動(dòng)給它是否正在運(yùn)行任何顯示。如果JMeter運(yùn)行,一些監(jiān)聽器使它變明顯,但是唯一確定的方法是檢查run菜單。如果start不可用,stop可用,證明JMeter正在運(yùn)行你的測(cè)試計(jì)劃(或者,至少, 它認(rèn)為它是)。 作用域規(guī)則jmeter 測(cè)試樹包含元件總是分等級(jí)和順序的。在測(cè)試樹中的一些元件是嚴(yán)格分級(jí)(監(jiān)聽器,配置元素,后置處理器,前置處理器,斷言,定時(shí)器),一些主要是順序的(控制器,取樣器)。當(dāng)你創(chuàng)建你的測(cè)試計(jì)劃時(shí),你將創(chuàng)建一個(gè)描述被執(zhí)行的步驟集的取樣請(qǐng)求有序列表。那些請(qǐng)求常組織在也有序的控制器中。給出如下測(cè)試樹:Example test tree請(qǐng)求的順序是 One,Two,Three,F(xiàn)our。一些控制器影響它的子元件的順序,你可以在 組件參考 看到詳細(xì)的控制器。其他元素是分等級(jí)的。例如,一個(gè)斷言在測(cè)試樹中是分等級(jí)的。如果你的父元件是請(qǐng)求,它就被應(yīng)用于那個(gè)請(qǐng)求。如果它的父元件是控制器,它就影響所有那個(gè)控制器下的所有請(qǐng)求。如下測(cè)試樹:Hierarchy exampleAssertion 1 僅被應(yīng)用于請(qǐng)求 One, Assertion 2 僅被應(yīng)用于 請(qǐng)求 Two 和 Three。其它例子,這次使用定時(shí)器:plex example在這個(gè)例子里,請(qǐng)求的命名表現(xiàn)它們被執(zhí)行的順序。Timer 1 應(yīng)用于 請(qǐng)求 Two, Three, 和 Four (注意對(duì)于分等級(jí)的元件怎樣的順序是不相關(guān)的)。Assertion 1 應(yīng)用于請(qǐng)求Three。Timer 2 對(duì)所有請(qǐng)求有效。希望那些例子使你弄清了配置(分等級(jí)的)元件如何被應(yīng)用。如果你想每個(gè)請(qǐng)求都被樹分叉拒絕,到它的父元件,到它的父元件的父元件,等等,每次收集所有它的父元件的配置元件,你將看到它如何工作的。元件Header Manager, Cookie Manager 和Authorization manager 的配置和默認(rèn)元件的配置被視為是不同的。默認(rèn)元件配置的設(shè)置并入取樣器到達(dá)的值的集里。然而來(lái)自管理器的設(shè)置沒有并入。如果多于一個(gè)管理器在一個(gè)取樣器范圍中,僅僅一個(gè)被使用,但是現(xiàn)在沒有辦法指定那個(gè)被使用。 Comments (Hide) Error reporting 錯(cuò)誤報(bào)告JMeter reports warnings and errors to the file, as well as some information on the test run itself. Just occaisionally there may be some errors that JMeter is unable to trap and log。 these will appear on the mand console. If a test is not behaving as you expect, please check the log file in case any errors have been reported (. perhaps a syntax error in a function call).JMeter ,就像測(cè)試本身在執(zhí)行時(shí)產(chǎn)生的某些資訊。只是偶爾地,JMeter對(duì)於某些錯(cuò)誤是無(wú)法補(bǔ)捉和記錄的,這些資訊都會(huì)顯示在執(zhí)行命令臺(tái)上。如果一個(gè)測(cè)試的執(zhí)行並不是你所期待的,那麼當(dāng)錯(cuò)誤發(fā)生時(shí),請(qǐng)你檢查記錄檔(例如:也許在函數(shù)的調(diào)用上有語(yǔ)法上的錯(cuò)誤)。Sampling errors (. HTTP 404 file not found) are not normally reported in the log file. Instead these are stored as attributes of the sample result. The status of a sample result can be seen in the various different Listeners.取樣錯(cuò)誤(例如:HTTP 404 找不到檔案)是不會(huì)被正常的記錄在記錄檔中的,取而代之的,他們會(huì)被當(dāng)作取樣結(jié)果的屬性來(lái)儲(chǔ)存,取樣結(jié)果的狀態(tài)能被許多不同的監(jiān)聽器所得知4. 測(cè)試計(jì)劃元件測(cè)試計(jì)劃對(duì)象有一個(gè)叫做功能測(cè)試復(fù)選框。如果被選擇,它將導(dǎo)致JMeter記錄來(lái)自服務(wù)器返回的每個(gè)取樣的數(shù)據(jù)。如果你在你的測(cè)試監(jiān)聽器中選擇一個(gè)文件,這個(gè)數(shù)據(jù)將被寫入文件。你嘗試一個(gè)小的運(yùn)行來(lái)保證JMeter配置正確并且你的服務(wù)器正在返回期望的結(jié)果是很有用的。 后置處理器元件 一個(gè)后置控制器在一個(gè)取樣器請(qǐng)求被建立后執(zhí)行一些操作。如果一個(gè)后置處理器附屬于一個(gè)取樣器元件,它僅在取樣器元件運(yùn)行后執(zhí)行。后置處理器最多用來(lái)處理響應(yīng)數(shù)據(jù),常用來(lái)從它里面摘錄數(shù)值。 見范圍規(guī)則 關(guān)于前置處理器執(zhí)行細(xì)節(jié) 執(zhí)行順序1. 定時(shí)器 任何個(gè) 2. 取樣器 3. 后置處理器 (如果SampleResult不為空) 4. 斷言 (如果SampleResult不為空) 5. 監(jiān)聽器 (如果SampleResult不為空) 5. 創(chuàng)建一個(gè)網(wǎng)站測(cè)試計(jì)劃在這一部分,你將學(xué)會(huì)如何創(chuàng)建一個(gè)基礎(chǔ)的測(cè)試計(jì)劃來(lái)測(cè)試網(wǎng)站,你將會(huì)創(chuàng)建5個(gè)用戶向Jackrta網(wǎng)站上的兩個(gè)網(wǎng)頁(yè)發(fā)送請(qǐng)求。當(dāng)然,你也可以讓每個(gè)用戶發(fā) 送兩次。這樣,總的HTTP發(fā)送請(qǐng)求為(5個(gè)用戶*2次請(qǐng)求*重復(fù)2次)=20。要構(gòu)建這個(gè)測(cè)試計(jì)劃,你將會(huì)用來(lái)下面的元素:線程組 , HTTP請(qǐng)求 , HTTP請(qǐng)求默認(rèn)值和圖形結(jié)果 。要?jiǎng)?chuàng)建更好的測(cè)試計(jì)劃,可以參考創(chuàng)建一個(gè)高級(jí)的測(cè)試計(jì)劃網(wǎng)站 。處理每個(gè)JMeter測(cè)試計(jì)劃的第一步就是添加 線程組元件。這個(gè)線程組會(huì)告訴JMeter你想要模擬的用戶數(shù)量,用戶應(yīng)該發(fā)送請(qǐng)求的頻率和應(yīng)該發(fā)送的數(shù)量。進(jìn)一步來(lái)添加一個(gè)線程組:首先選擇這個(gè)測(cè)試計(jì)劃,用鼠標(biāo)右鍵點(diǎn)擊然后在得到的菜單中選擇添加 線程組。這時(shí)你應(yīng)該看到這個(gè)線程組已經(jīng)在測(cè)試計(jì)劃下面了,如果沒有看到,就點(diǎn)擊測(cè)試計(jì)劃元件展開這個(gè)測(cè)試計(jì)劃樹。下一步,你需要修改這些默認(rèn)的屬性。如果你還沒有選擇線程組元件,則從測(cè)試計(jì)劃樹型結(jié)構(gòu)中選擇它。這時(shí)你應(yīng)該看到JMeter窗口右邊的線程組控制面板了。. 線程組默認(rèn)值首先給這個(gè)線程組起一個(gè)有意義的名字。在名稱域中, 輸入Jakarta Users.下一步,增加用戶的數(shù)量為5。在下一個(gè)the RampUp Period文本域中 , 使用默認(rèn)值為0。這個(gè)屬性表示每個(gè)用戶啟動(dòng)的遲延時(shí)間。例如,如果你輸入RampUp Period 為5秒,JMeter將會(huì)在五秒結(jié)束前完成 啟動(dòng)所有的用戶。所以,如果你有五個(gè)用戶并且RampUp Period為五秒,那么開始用戶的延遲就是1秒。(5個(gè)用戶 / 5秒 = 1 用戶每秒). JMeter將會(huì)立即啟動(dòng)你所有的用戶,如果你設(shè)置其值為0。最后,取消標(biāo)記為永遠(yuǎn)的復(fù)選框選擇并設(shè)置循環(huán)次數(shù)為2。 這個(gè)屬性表示你的測(cè)試的重復(fù)次數(shù)。如果你設(shè)置為1,JMeter將你的測(cè)試只運(yùn)行一次。 要讓JMeter不斷的運(yùn)行,你要選擇永遠(yuǎn)這個(gè)復(fù)選框。在大多數(shù)的應(yīng)用程序中,你需要手動(dòng)來(lái)接受你在控制面板中所做的修改。但在JMeter中,如果你做了修改,控制面板可以自動(dòng)的接受。如果你修改的元件的名字,樹型菜單自動(dòng)更新當(dāng)你離開控制面板后。 (例如, 當(dāng)你選擇另外一個(gè)樹元件。)圖 為完整的Jakarta Users線程組。圖 . Jakarta Users 線程組 添加默認(rèn)HTTP請(qǐng)求屬性我們已經(jīng)定義了用戶,現(xiàn)在要定義他們的行為了。在這一部分,你將學(xué)會(huì)對(duì)你的HTTP請(qǐng)求設(shè)置默認(rèn)值。,用你在這里指定的默認(rèn)設(shè)置來(lái)添加HTTP請(qǐng)求元件。首先選擇Jakarta Users元件,右鍵點(diǎn)擊并在彈出的菜單中選擇添加 配置元件 HTTP請(qǐng)求默認(rèn)值。 然后選擇這個(gè)新元件來(lái)顯示其控制面板()。. HTTP 請(qǐng)求默認(rèn)值跟大多數(shù)的JMeter元件一樣, HTTP請(qǐng)求默認(rèn)值控制面板也有一個(gè)名稱域。在這個(gè)例子中將它保留為默認(rèn)值。下面這個(gè)文本域是Web Server的Server名字/IP。對(duì)于這個(gè)測(cè)試計(jì)劃中。向文本域中輸入名字,這是唯一的一個(gè)需要我們?nèi)バ薷乃哪J(rèn)值,其它的文本域都保留它們的默認(rèn)值。HTTP請(qǐng)求默認(rèn)值元件并不告訴JMeter來(lái)發(fā)送HTTP請(qǐng)求,它僅僅定義這個(gè)HTTP請(qǐng)求所用的默認(rèn)值。. 測(cè)試計(jì)劃的HTTP 默認(rèn)值 添加 Cookie 支持除非你的應(yīng)用程序明確的不使用Cookies,幾乎所有的網(wǎng)站應(yīng)用程序都會(huì)使用cookie支持。要添加cookie支持,可以簡(jiǎn)單的在你的測(cè)試計(jì)劃中給每一個(gè)線程組 添加 一個(gè) HTTP Cookie 管理器 。這樣確信每個(gè)線程組有自己的cookies,但是通過所有交互的 HTTP 請(qǐng)求 對(duì)象變成共享。添加 HTTP Cookie 管理器 , 簡(jiǎn)單地,選擇這個(gè) 線程組 ,選擇添加 HTTP Cookie管理器,也可以從編輯菜單或通過右鍵點(diǎn)擊來(lái)實(shí)現(xiàn)添加。 添加 HTTP 請(qǐng)求在這個(gè)測(cè)試計(jì)劃中,我們需要實(shí)現(xiàn)兩個(gè)HTTP請(qǐng)求。第一個(gè)就是 Jakarta網(wǎng)站首頁(yè)(),第二個(gè)就是工程向?qū)ЬW(wǎng)頁(yè)()。JMeter按照它們?cè)跇涞某霈F(xiàn)的次序來(lái)發(fā)送請(qǐng)求。首先給Jakarta Users元件添加第一個(gè) HTTP請(qǐng)求 (添加 取樣器 HTTP 請(qǐng)求)。然后從樹中選擇HTTP請(qǐng)求元件并修改正面的屬性():更改名稱域?yàn)镠ome Page.設(shè)置路徑域?yàn)?/。你不必要設(shè)計(jì)服務(wù)器的名稱域,因?yàn)槟阋呀?jīng)在HTTP請(qǐng)求默認(rèn)值元件中設(shè)定過了。圖 . Jakarta首頁(yè)的HTTP請(qǐng)求下一步,添加每二個(gè)HTTP請(qǐng)求并修改下面的屬性():更改名稱域?yàn)镻roject Guidelines。設(shè)置路徑域?yàn)?/site/。圖 . Jakarta工程Guidelines頁(yè)的HTTP請(qǐng)求 添加一個(gè)監(jiān)聽器到試圖儲(chǔ)存測(cè)試結(jié)果最后一個(gè)你需要給測(cè)試計(jì)劃的元件是監(jiān)聽器 。這個(gè)元件的用途是將所有的HTTP請(qǐng)求結(jié)果存儲(chǔ)在一個(gè)文件中并顯現(xiàn)出數(shù)據(jù)的可視模型。選擇Jakarta Users 元件,然后添加一個(gè)