【正文】
測試計劃元件,然后右擊在菜單項中選擇Save。 運(yùn)行測試計劃從Run菜單,選擇Run。當(dāng)所有測試停止,那個方塊變成灰色。 JDBC設(shè)置不同的數(shù)據(jù)庫和JDBC驅(qū)動程序需要不同的JDBC設(shè)置。下面是一些可能的設(shè)置。Datebase Driver class Database URL MySQL jdbc:mysql://host:port/{dbname} PostgreSQL jdbc:postgresql:{dbname} Oracle jdbc:oracle:thin:user/pass//host:port/service Ingres (2006) jdbc:ingres://host:port/db[。8創(chuàng)建一個FTP測試計劃在這章,你將學(xué)習(xí)到如何創(chuàng)建一個基本的測試計劃來測試FTP站點(diǎn)。Reilly的FTP站點(diǎn)上的兩個文件創(chuàng)建四個發(fā)送請求的用戶。所以整個測試數(shù)目是(4個用戶)*(2個請求)*(重復(fù)2次)=16個FTP請求。這個例子使用O39。當(dāng)運(yùn)行這個例子時請考慮周到,并且(如果可能)考慮再次運(yùn)行其他FTP站點(diǎn)。線程組告訴JMeter你想模擬的用戶數(shù),用戶發(fā)送請求的頻率,和發(fā)送請求的數(shù)量。現(xiàn)在你應(yīng)該看到了測試計劃下的線程組元件了。下一步,你需要修改默認(rèn)配置?,F(xiàn)在在JMeter窗口右部你應(yīng)該可以看到線程組控制面板。在name文本域,輸入O39。先一步,增加用戶數(shù)(調(diào)用線程)到四個。這個屬性告訴JMeter啟動每個用戶之間的時間間隔。所以,如果我們有5個用戶和一個5秒的RampUp Period,那么啟動用戶的延遲就是1秒(5用戶/5秒=1用戶每秒)。最后,清除標(biāo)為Forever的復(fù)選框,并且在循環(huán)次數(shù)文本域中輸入2。如果你輸入循環(huán)次數(shù)為0,那么JMeter將會運(yùn)行你的測試一次。在大部分應(yīng)用程序中,你必須在控制面板中手工改變。如果你修改元件名,這個樹會在你離開控制面板前自動使用新的文本更新這個樹(例如,當(dāng)你選擇另一個樹元件時)。Reilly Users線程組。Reilly Users線程組既然我們已經(jīng)定義了我們的用戶,是時間定義他們要執(zhí)行的任務(wù)了。你將會添加使用你在這里指定的一些默認(rèn)設(shè)置的FTP請求元件。Reilly Users元件。于是選擇新的元件預(yù)覽它的控制面板()。在這個例子里,保持這個文本域使用默認(rèn)值。為了你正在構(gòu)建的測試計劃,所有的FTP請求將會發(fā)送到相同的FTP服務(wù)器。這是我們定制一個默認(rèn)的唯一文本域,所以保持剩余的文本域使用它們的默認(rèn)值。它只是簡單定義了FTP請求元件使用的默認(rèn)值。 我們測試計劃的FTP默認(rèn)在我們的測試計劃中,我們需要制作兩個FTP請求。Reilly下的mSQL下的java下README文件(ftp://),第一個文件是tutorial文件(ftp://)。首先添加第一個FTP請求到O39。然后早樹中選擇FTP請求元件,并且編輯下列屬性():1. 修改Name文本域為README。 3. 修改Username文本域為anonymous。 因為你已經(jīng)在FTP默認(rèn)請求元件中指定了服務(wù)器名,所以你不需要設(shè)置這個值了。Reilly mSQL java README文件的FTP請求下一步,添加第二個FTP請求,并修改下列屬性():1. 修改Name文本域為tutorial。 3. 修改Username文本域為anonymous。 O39。這個元件責(zé)任是儲存所有你的FTP請求結(jié)果到文件,并且展示一個可視數(shù)據(jù)模型。Reilly Users元件,添加一個Spline Visualizer監(jiān)聽器(Add Listener Spline Visualizer)。為了保存測試計劃,從File菜單選擇Save Test Plan(使用最新版本,它不再需要首先選擇測試計劃元件)。為了僅保存在測試計劃樹上的特殊分支,選擇在樹中用來啟動分支的測試計劃元件,然后右擊在菜單項中選擇Save。從Run菜單,選擇Run。當(dāng)所有測試停止,那個方塊變成灰色。你將創(chuàng)建五個發(fā)送請求到一個頁面的用戶。所以整個請求是(5用戶)*(1請求)*(重復(fù)2次)=10HTTP請求。General notes on the webservices SOAP驅(qū)動程序。請查閱SOAP文檔的未來細(xì)節(jié)。細(xì)節(jié)方面,確認(rèn)xmlns屬性和WSDL是一樣的。Xmethods為那些想要測試他們的測試計劃的人包含了一系列公用的web服務(wù)。線程組告訴JMeter你想模擬的用戶數(shù),用戶發(fā)送請求的頻率,和發(fā)送請求的數(shù)量?,F(xiàn)在你應(yīng)該看到了測試計劃下的線程組元件了。下一步,你需要修改默認(rèn)配置?,F(xiàn)在在JMeter窗口右部你應(yīng)該可以看到線程組控制面板。在name文本域,輸入O39。先一步,增加用戶數(shù)(調(diào)用線程)到四個。這個屬性告訴JMeter啟動每個用戶之間的時間間隔。所以,如果我們有5個用戶和一個5秒的RampUp Period,那么啟動用戶的延遲就是1秒(5用戶/5秒=1用戶每秒)。最后,清除標(biāo)為Forever的復(fù)選框,并且在循環(huán)次數(shù)文本域中輸入2。如果你輸入循環(huán)次數(shù)為0,那么JMeter將會運(yùn)行你的測試一次。在大部分應(yīng)用程序中,你必須在控制面板中手工改變。如果你修改元件名,這個樹會在你離開控制面板前自動使用新的文本更新這個樹(例如,當(dāng)你選擇另一個樹元件時)。 Jakarta Users線程組在我們的測試計劃, web服務(wù)。如果你不知道如何寫一個web服務(wù),在這章,你將學(xué)習(xí)如何創(chuàng)建一個測試計劃去測試JMS提供者。你將創(chuàng)建兩個線程組并且設(shè)置一個為重復(fù)10次。為了構(gòu)造測試計劃,你將使用以下元件:線程組、JMS發(fā)布者、JMS訂閱者和圖標(biāo)結(jié)果。當(dāng)前有兩個JMS取樣器。主題消息是通常說的發(fā)布/訂閱消息。隊列消息一般被用在發(fā)送者期望得到一個響應(yīng)時的事務(wù)。在HTTP中,單個用戶發(fā)送一個請求并且得到一個響應(yīng)。第一步是添加線程組元件。接著首先選擇測試計劃添加線程組元件,單擊鼠標(biāo)右鍵得到Add菜單,并且選擇Add ThreadGroup。如果看不到這個元件,然后通過單擊測試計劃元件展開測試計劃樹。如果你沒有選擇在樹中的線程組,就選擇它。 具有默認(rèn)值的線程組開始為線程組提供一個更有描述性的名字。下一步,增加用戶數(shù)(叫做線程)到5.在下一個文本域——RampUP Period,使用默認(rèn)值0秒。例如,你輸入RampUp Period 為五秒,JMeter將會在最后5秒結(jié)束前啟動所有你的用戶。如果你設(shè)置為那個值為零,那么JMeter將會立刻啟動所以你的用戶。這個屬性告訴JMeter重復(fù)你的測試的次數(shù)。為了讓JMeter重復(fù)運(yùn)行你的測試計劃,選擇Forever復(fù)選框。然而,在JMeter中,控制面板中自動接受你做的改變。 完整的O39。Unable to render embedded object: File () not found.確認(rèn)在JMeter的lib文件夾下有需要的jar包。開始添加JMS Subscriber取樣器到Jakarta Users元件(Add Sampler JMS Subscriber)。請參考JMS提供者的文檔信息輸入消息主題名如果JMS提供者需要認(rèn)證,選擇required并且輸入用戶名和密碼。t aggregate the messages, JMeter wouldn39。請參考JMS提供者的文檔信息輸入消息主題名如果JMS提供者需要認(rèn)證,選擇required并且輸入用戶名和密碼。t aggregate the messages, JMeter wouldn39。這個元件責(zé)任是儲存所有你的HTTP請求結(jié)果到文件,并且展示一個可視數(shù)據(jù)模型。 Next, you need to specify a directory and filename of the output file. You can either type it into the filename field, or select the Browse button and browse to a directory and then enter a filename. Graph Results監(jiān)聽器雖然它不是需要的,但是我們推薦你在運(yùn)行前保存測試計劃到一個文件。JMeter允許你保存這個測試計劃樹或者其中一部分?;蛘撸x擇合適測試計劃元件,然后從Edit菜單選擇Save。如果你測試正在運(yùn)行,JMeter在右手上方的角落點(diǎn)燃一個綠正方形顯示。即使你選擇了stop,綠光依然會繼續(xù)停留,知道所有測試都已經(jīng)停止。如果你在你的監(jiān)聽器中選擇一個文件保存結(jié)果,然后你將有一個能夠在任何可視化工具下打開的文件。如果可能在多個可視化工具中打開同一個文件。JMeter會保證在測試運(yùn)行期間沒有取樣會再次被記錄于同一文件監(jiān)聽器是顯示取樣器結(jié)果的組件。為了觀察來自提供的取樣器的響應(yīng)內(nèi)容,可以添加觀察結(jié)果樹或者在表格觀察結(jié)果監(jiān)聽器到測試計劃。然而,如果他們其中一個被指點(diǎn),他們所有使用相同的原始數(shù)據(jù)寫入到輸出文件。CSV文件比XML文件小得多,所有如果產(chǎn)生大量的取樣建議使用CSV文件。或者你可以使用簡單控制器去組織取樣器集,并且添加監(jiān)聽器到那個控制器。在左邊的面板選擇監(jiān)聽器。監(jiān)聽器。這樣在測試完成之后日志文件可以被重新讀取到一個監(jiān)聽器。僅那些指定的數(shù)據(jù)項被記錄在文件。 fontfamily: Arial, Geneva, Helvetica, sansserif。 backgroundcolor: white。 fontfamily: Arial, Geneva, Helvetica, sansserif。 backgroundcolor: white。 charset=ISO88591/responseHeader requestHeader class=MyHeader: MyValue/requestHeader responseData class=...amp。htmlamp。 amp。headamp。... amp。/headamp。 amp。bodyamp。 ... amp。/bodyamp。amp。/htmlamp。/responseData cookies class=/cookies method class=GET/method queryString class=/queryString url/url/Sample nonHTTPP Samplesample t=0 lt=0 ts=1144372616082 s=true lb=Example Sampler rc=200 rm=OK tn=Listen 11 dt=text de=ISO88591 by=10 responseHeader class=/responseHeader requestHeader class=/requestHeader responseData class=Listen 11/responseData responseFile class=/responseFile samplerData class=ssssss/samplerData/sample/testResults取樣節(jié)點(diǎn)名字可以是sample或者Sample。這個bug已經(jīng)被修復(fù),所以為rc;rc或者rs都可以被讀取。然而,這將使文件相當(dāng)大,并且文本必須被編碼才可以被安靜的驗證XML。另一個解決方案是使用后置處理器保存響應(yīng)結(jié)果到文件。文件名會被包含在一個取樣日志輸入。一個函數(shù)調(diào)用就像這樣:${__functionName(var1,var2,var3)} __functionName匹配函數(shù)名。不需要參數(shù)的函數(shù)使圓括號內(nèi)為空,例如${_threadNum}。 regexFunction regular expression evaluator threadNum get thread number StringFromFile read a line from a file JavaScript (Apache Rhino) CSVRead read from CSV delimited file P read a property log log a message BeanShell run BeanShell XPath XPath use an xpath expression jexl evaluate a Commons Jexl expression 函數(shù)可以做什么有兩類函數(shù):自定義靜態(tài)值(或者變量),和內(nèi)置函數(shù)。這個替代在測試運(yùn)行開始時發(fā)生一次。它需要用戶創(chuàng)建默認(rèn)配置元件來填充取樣器空值。在測試計劃中每個函數(shù)調(diào)用是被一個單獨(dú)函數(shù)實例調(diào)用的。參數(shù)屬性描述是否需要,或者在命令行上。如下列出。 ,使用yyyyMMdd格式 今天再次有同行問到這個報告中的各項數(shù)據(jù)表示什么意思,順便在這里公布一下,以備大家查閱。Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值Samples:表示你這次測試中一共發(fā)出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100Avera