【正文】
組。 添加 HTTP 請求在這個測試計(jì)劃中,我們需要實(shí)現(xiàn)兩個HTTP請求。同樣的,也可以選擇合適的元件,然后選擇編輯菜單中的另存為。如果Cache Session Id?被選中,那么最后被發(fā)現(xiàn)的會話ID將被保存,并且如果HTTP的上次取樣不包含一個會話ID將會被使用。s ClassPath)。在下一個the RampUp Period文本域中 , 使用默認(rèn)值為0。首先選擇JDBC用戶元件,右鍵點(diǎn)擊,在彈出的菜單中選擇Add Config Element JDBC Connection Configuration。JMeter發(fā)送請求的次序就是你向樹中添加它們的次序。當(dāng)所有測試停止,那個方塊變成灰色。當(dāng)運(yùn)行這個例子時請考慮周到,并且(如果可能)考慮再次運(yùn)行其他FTP站點(diǎn)。所以,如果我們有5個用戶和一個5秒的RampUp Period,那么啟動用戶的延遲就是1秒(5用戶/5秒=1用戶每秒)。Reilly Users元件。首先添加第一個FTP請求到O39。Reilly Users元件,添加一個Spline Visualizer監(jiān)聽器(Add Listener Spline Visualizer)。請查閱SOAP文檔的未來細(xì)節(jié)。先一步,增加用戶數(shù)(調(diào)用線程)到四個。如果你不知道如何寫一個web服務(wù),在這章,你將學(xué)習(xí)如何創(chuàng)建一個測試計(jì)劃去測試JMS提供者。接著首先選擇測試計(jì)劃添加線程組元件,單擊鼠標(biāo)右鍵得到Add菜單,并且選擇Add ThreadGroup。為了讓JMeter重復(fù)運(yùn)行你的測試計(jì)劃,選擇Forever復(fù)選框。t aggregate the messages, JMeter wouldn39。如果可能在多個可視化工具中打開同一個文件。這樣在測試完成之后日志文件可以被重新讀取到一個監(jiān)聽器。 amp。amp。不需要參數(shù)的函數(shù)使圓括號內(nèi)為空,例如${_threadNum}。 BeanShell run BeanShell 參數(shù)屬性描述是否需要,或者在命令行上。 P read a property 文件名會被包含在一個取樣日志輸入。 ... amp。 charset=ISO88591/responseHeader requestHeader class=MyHeader: MyValue/requestHeader responseData class=...amp。在左邊的面板選擇監(jiān)聽器。即使你選擇了stop,綠光依然會繼續(xù)停留,知道所有測試都已經(jīng)停止。t aggregate the messages, JMeter wouldn39。如果你設(shè)置為那個值為零,那么JMeter將會立刻啟動所以你的用戶。在HTTP中,單個用戶發(fā)送一個請求并且得到一個響應(yīng)。如果你修改元件名,這個樹會在你離開控制面板前自動使用新的文本更新這個樹(例如,當(dāng)你選擇另一個樹元件時)?,F(xiàn)在在JMeter窗口右部你應(yīng)該可以看到線程組控制面板。所以整個請求是(5用戶)*(1請求)*(重復(fù)2次)=10HTTP請求。 O39。 我們測試計(jì)劃的FTP默認(rèn)在我們的測試計(jì)劃中,我們需要制作兩個FTP請求。Reilly Users線程組既然我們已經(jīng)定義了我們的用戶,是時間定義他們要執(zhí)行的任務(wù)了。先一步,增加用戶數(shù)(調(diào)用線程)到四個。所以整個測試數(shù)目是(4個用戶)*(2個請求)*(重復(fù)2次)=16個FTP請求。為了僅保存在測試計(jì)劃樹上的特殊分支,選擇在樹中用來啟動分支的測試計(jì)劃元件,然后右擊在菜單項(xiàng)中選擇Save。然后,選擇一個新的元件來顯示其控制面板()。 (例如, 當(dāng)你選擇另外一個樹元件。mydb39。這樣總的JDBC請求數(shù)量就是(10用戶)*(2次請求)*(重復(fù)3次)=60。為了響應(yīng)正確到URL重寫,JMeter需要解析從服務(wù)器接受的HTML和重新得到唯一的會話ID。圖 . 圖像結(jié)果監(jiān)聽器 保存測試計(jì)劃盡管它并不必要,我們還是建議你在運(yùn)行測試計(jì)劃前將它保存在一個文件里邊。. 測試計(jì)劃的HTTP 默認(rèn)值 添加 Cookie 支持除非你的應(yīng)用程序明確的不使用Cookies,幾乎所有的網(wǎng)站應(yīng)用程序都會使用cookie支持。在大多數(shù)的應(yīng)用程序中,你需要手動來接受你在控制面板中所做的修改。進(jìn)一步來添加一個線程組:首先選擇這個測試計(jì)劃,用鼠標(biāo)右鍵點(diǎn)擊然后在得到的菜單中選擇添加 線程組。只是偶爾地,JMeter對於某些錯誤是無法補(bǔ)捉和記錄的,這些資訊都會顯示在執(zhí)行命令臺上。如果你的父元件是請求,它就被應(yīng)用于那個請求。 配置樹元件在測試樹中的任何元件控制在JMeter的右手結(jié)構(gòu)。被添加到lib目錄的任何jar包都被發(fā)現(xiàn)。如果在當(dāng)前目錄被發(fā)現(xiàn),這個文件被自動加載。 運(yùn)行jmeterserver/,加上下列選項(xiàng)命令:這個腳本也允許我們指定可選的防火墻/代理服務(wù)器信息:H [代理服務(wù)器主機(jī)名或者ip地址]P [代理服務(wù)器端口]例如 : jmeterserver H P 8000 通過命令行覆蓋屬性Java系統(tǒng)屬性,JMeter屬性,和日志屬性可以通過命令行直接覆蓋()。JMeter 將會自導(dǎo)發(fā)現(xiàn)在這里的任何jar包的JMeter 組件。 Apache SOAPApache SOAP 需要 和 . 你需要下載并拷貝兩個jar文件到你jmeter/lib ,JMeter 會自動找到它們。 OpenVMS Alpha + 可選如果你計(jì)劃做JMeter開發(fā)或者想使用SUN的java標(biāo)準(zhǔn)擴(kuò)展包,你將需要下列更多的可選包。 Java Mail mail 顯示 and SOAP 測試需要 它可以被用來測試包括基于靜態(tài)和動態(tài)資源程序的性能,例如靜態(tài)文件,Java Servlets,Java 對象,數(shù)據(jù)庫,F(xiàn)TP 服務(wù)器等等。其它你可能需要下載的軟件:JMeter 在下列環(huán)境已經(jīng)被測試: 注意,你將不需要下載JSSE。它試圖改變到一個適當(dāng)?shù)哪夸?。這樣做,使用下列命令選項(xiàng):n 這是指定JMeter在非用戶界面模式運(yùn)行t [包含測試計(jì)劃的JMX文件的名字]l [記錄取樣結(jié)果的JTL文件的名字]r (或者通過在命令行覆蓋屬性指定遠(yuǎn)程服務(wù)器)這個腳本也允許我們指定可選的防火墻/代理服務(wù)器信息:H [代理服務(wù)器主機(jī)名或者ip地址]P [代理服務(wù)器端口]例如 : jmeter n t l H P 8000 服務(wù)器模式為了分布測試 ,在服務(wù)器模式運(yùn)行JMeter,并且通過用戶界面控制每一臺服務(wù)器。 命令行選項(xiàng)目錄調(diào)用JMeter的 jmeter ?命令將打印所有命令選項(xiàng)的一個列表。分割);例如增加的取樣器。為了保存樹元件,在一個元件上右擊,選擇save選項(xiàng)。一些控制器影響它的子元件的順序,你可以在 組件參考 看到詳細(xì)的控制器。 Comments 要創(chuàng)建更好的測試計(jì)劃,可以參考創(chuàng)建一個高級的測試計(jì)劃網(wǎng)站 。 這個屬性表示你的測試的重復(fù)次數(shù)。對于這個測試計(jì)劃中。這個元件的用途是將所有的HTTP請求結(jié)果存儲在一個文件中并顯現(xiàn)出數(shù)據(jù)的可視模型。在測試運(yùn)行期間,JMeter確信沒有例子被多次保存在同一個文件中6. 創(chuàng)建一個高級web測試計(jì)劃在這章,你將學(xué)到如何創(chuàng)建高級測試計(jì)劃 測試web站點(diǎn)。HTTP 消息頭管理 好像 HTTP Cookie 管理 ,如果你因?yàn)橐恍┰蚰悴幌M谀愕臏y試?yán)餅椴煌腍TTP 請求對象指定不同的消息頭,可以被添加到線程組水平在這一部分,你將學(xué)會如何去創(chuàng)建一個基礎(chǔ)的測試計(jì)劃來測試一個數(shù)據(jù)庫服務(wù)器。首先給這個線程組起一個有意義的名字。在大多數(shù)的應(yīng)用程序中,你需要手動來接受你在控制面板中所做的修改。 Password: password for guest 剩下的文本域我們可以保留默認(rèn)的值。Figure . Graph results Listener 雖然它不是需要的,但是我們推薦你在運(yùn)行前保存測試計(jì)劃到一個文件。你將為在O39。() 使用默認(rèn)值的線程組首先給線程組起一個更加有意義的名字。 完整的O39。FTP默認(rèn)請求元件沒有告訴JMeter發(fā)送一個FTP請求。 2. 修改File to Retrieve From Server文本域?yàn)閜ub/msql/java/。即使你選擇了stop,綠光依然會繼續(xù)停留,知道所有測試都已經(jīng)停止10構(gòu)建一個Web服務(wù)測試計(jì)劃在這章,你將學(xué)習(xí)如何創(chuàng)建一個測試web服務(wù)的測試計(jì)劃。如果你看不到這個元件,單擊測試計(jì)劃元件展開測試計(jì)劃樹。為了讓JMeter重復(fù)運(yùn)行你的測試計(jì)劃,選擇Forever復(fù)選框。在案例里它一般用在一個被生產(chǎn)者發(fā)布消息和多個訂閱者接收消息的地方。這個屬性告訴JMeter啟動每個用戶之間的時間間隔。然后,在樹中選擇JMS Subscriber元件,并且編輯下列屬性:改變Name域?yàn)閟ample subscriber,選擇這個復(fù)選框輸入InitialContextFactory的類名輸入提供者URL,輸入連接工廠名。從Run菜單,選擇Run。如果你僅期望記錄某幾個取樣,可以添加監(jiān)聽器作為取樣器的一個子節(jié)點(diǎn)。 color: black。lt。同樣圖片不會被包括。 random number 自定義函數(shù)允許one to replace only part of any given value, not just filling in blank values. With builtin functions users can pute new values at runtime based on previous response data, which thread the function is in, the time, and many other sources. These values are generated fresh for every request throughout the course of the test. 函數(shù)在線程之間是共享的。 ,使用HHmmsAggregate Report是 JMeter 常用的一個 Listener,中文被翻譯為“聚合報(bào)告”。 time return current time in various formats counter gt。gt。列的表現(xiàn)順序是固定的,如下:*時間標(biāo)志自從197011的毫秒數(shù)*用時毫秒*標(biāo)簽取樣器標(biāo)簽*響應(yīng)代碼例如200、404*響應(yīng)消息例如OK*線程名*數(shù)據(jù)類型*成功與否true或者false*失敗消息如果要的話*字節(jié)數(shù)在取樣中的字節(jié)數(shù)*URLXML文件格式如下:原始XML()格式如下(轉(zhuǎn)行可以不相同):?xml version= encoding=UTF8?testResults version=sampleResult timeStamp=1144365463297 dataType=text threadName=Listen 11 label=HTTP Request time=1502 responseMessage=OK responseCode=200 success=true sampleResult timeStamp=1144365464238 dataType=text threadName=Listen 11 label= time=171 responseMessage=OK responseCode=200 success=true property xml:space=preserve name=samplerData GET /property binary body, td, th { fontsize: 95%。結(jié)果可以顯示在樹、表格、圖表或者簡單的寫入一個日志文件。選擇Jakarta Users元件,添加一個Graph Resultsr監(jiān)聽器(Add Listener Graph Results)。如果你修改元件名,這個樹會在你離開控制面板前自動使用新的文本更新這個樹(例如,當(dāng)你選擇另一個樹元件時)。下一步,你需要修改默認(rèn)屬性。消息總數(shù)是(6線程)x(1消息)x(重復(fù)10次)=60個消息。例如,你輸入RampUp Period 為五秒,JMeter將會在最后5秒結(jié)束前啟動所有你的用戶。如果xml命名空間是不同的,web服務(wù)將會可能返回一個錯誤。JMeter允許你保存這個測試計(jì)劃樹或者其中一部分。 2. 修改File to Retrieve From Server文本域?yàn)閜ub/msql/java/README。 FTP默認(rèn)請求像大多數(shù)JMeter元件一樣,F(xiàn)TP默認(rèn)請求控制面板有一個你可以修改的name文本域。這個屬性告訴JMeter重復(fù)你的測試的次數(shù)。順便說一下,首先選擇測試計(jì)劃,右鍵點(diǎn)擊得到Add菜單,并且選擇AddThreadGroup,通過這種方式添加線程組。JDBC執(zhí)行的提供者來定義數(shù)據(jù)庫URL和數(shù)據(jù)庫驅(qū)動程序類。 輸入Pool Name:MySQL(在配置元件里面一樣) 所以,如果你有五個用戶并且RampUp Period為五秒,那么開始用戶的延遲就是1秒。這個線程組會告訴JMeter你想要模擬的用戶數(shù)量,用戶應(yīng)該發(fā)送請求的頻率和應(yīng)該發(fā)送的數(shù)量。注意URL重寫修改器附屬于線程組,因此確定它對在那