JMETER使用,從入門到放棄_第1頁
JMETER使用,從入門到放棄_第2頁
JMETER使用,從入門到放棄_第3頁
JMETER使用,從入門到放棄_第4頁
JMETER使用,從入門到放棄_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

TOC\o"1-5"\h\z\o"CurrentDocument"1工具介紹 3工具組成 3測試計劃 3\o"CurrentDocument"工作臺 3測試組成結構 .4\o"CurrentDocument"HTTP消息頭 .4\o"CurrentDocument"HTTP請求默認值 .4\o"CurrentDocument"HTTPCookie管理器 5\o"CurrentDocument"線程組 5\o"CurrentDocument"HTTP請求 5\o"CurrentDocument"DebugSampler 5響應斷言 .6常用監(jiān)聽器 6\o"CurrentDocument"2準備工作 7監(jiān)控資源 .7\o"CurrentDocument"監(jiān)控TOMCAT資源 7\o"CurrentDocument"監(jiān)控WINDOWS資源 10\o"CurrentDocument"監(jiān)控LINUX資源 11使用技巧 12\o"CurrentDocument"參數(shù)化 12正則表達式提取器 14\o"CurrentDocument"集合點 16響應斷言 17\o"CurrentDocument"IP欺詐 19\o"CurrentDocument"3開始搞事情 22準備工作 23接口測試 23\o"CurrentDocument"腳本組成 23\o"CurrentDocument"數(shù)據(jù)共享 26線程組 31\o"CurrentDocument"Linux下運行Jmeter 33數(shù)據(jù)庫性能測試 35\o"CurrentDocument"Mysql性能測試 35\o"CurrentDocument"JAVA性能測試 37該文檔只講解JMETER作為測試工具在測試中常用的功能如何使用。其他功能,如果感興趣,可以自行研究學習。該文檔內容具有一定的跳躍性,不適合測試小白學習。該文檔是我畢生心血之作,雖然內容有可能不正確和不準確,但至少是在項目中得到實踐和經(jīng)得起測試的。另外該文檔主要內容只會出現(xiàn)我知道和我使用過且能得出結論的內容。所以該文檔不屬于進階和工具文檔。主要是讓小白們知道如何使用JMETET工具進行測試,指導一個方向而已。就我目前所知JMETER只能進行HTTP協(xié)議的測試。至于能不能進行其他協(xié)議的測試,請讀者自行研究。說明一點,不同的協(xié)議測試請用合適的工具,所以請大家在做測試之前請先選擇合適的測試工具,不然在測試過程中很有可能半途而廢,浪費時間,而且會嚴重打擊你的測試信心。注意:文檔中介紹的JMETER工具版本為V3.0o1工具介紹工具組成該工具由測試計劃和工作臺組成。這2個部分均可以添加線程組及各種元件。區(qū)別是測試計劃部分可以添加線程組,而工作臺不能添加線程組。一般我們都是在測試計劃中創(chuàng)建線程組進行接口的功能和性能測試。測試計劃組成如下圖所示江淮輕卡WE日端性能則討然HTTP信息頭管理獸X-http請求默認值(1)【用戶登錄】(2)【首頁-百公考42⑶t故障分析Ta:(4)t其他斫有君-X察看結果樹-X圖形結果案m報告12用恚格察看結果添加 ?Threads{Users),TestFragment卜配置元件 ?定時渠 卜前置處理器卜后置處理器?斷言 ?監(jiān)聽器 ?粘貼 Orl-VResetGuiByfUndoRedo打開_臺并保存為常用到的有:Threads(Users)、配置元件、后置處理器、斷言、監(jiān)聽器。具體怎么用,后面再講。工作臺組成如下圖所示(該文章不會對這個玩意進行講解,因為我沒用過,感興趣的可以自己研究哈)添加 ?非則試元件卜粘貼 Ctrl-V遙輯控制器?ResetGui配置元件?UndoRedo前置處理器卜□3rnpi&if打開后置處理器?合并斷言 ?保存為…監(jiān)聽器?SaveasTestFragmentSaveNodeAsImage ctri-G"~~~~工 可能會用到的功能:非測試元件(HTTPMirrorServer.HTTP代理服務器)。測試組成結構一般組成為HTTP消息頭、HTTP請求默認值、線程組、HTTP請求、DebugSampler、查看結果樹、聚合報告、用表格察看結果、響應斷言、各種可選用的監(jiān)聽器。如下圖所示. .…一能測試X川田仔息頭管理器WHTTP請求默認值aU(1)1用戶登錄】線程組A,(2)1首頁-百公里油耗二線程組*U(3)t故障分析轍障走勢二線程組>J[其他斫有接口二線程組、察看結果樹-X聚合報告、用表格察看結果響應斷言1.2.1HTTP消息頭具體作用不詳,反正要加,不然腳本報錯。響應內容如果是json,消息頭里就填寫Content-Type=application/json。HTTP請求默認值作用是當一個線程組里存在N多接口,而且接口路徑中開頭一段相同。為什么方便修改相同部分的路徑內容,就添加這個請求默認值。HTTPCookie管理器用于管理Cookie值,一般情況下無需填寫任何內容值。只有當多個接口需要用到固定的cookie值時才會填寫內容,一般結合正則提取器使用,具體使用方法見第3.2.2章節(jié)。線程組線程組有2個特性:線程屬性和調度器。這2個特性均用于性能測試。(1)線程屬性,設置線程數(shù)即虛擬用戶數(shù),性能測試場景中腳本的運行設置(2)調度器,設置性能測試場景中腳本的運行周期(時間),選中“調度器”才能使用此功能具體操作和功能說明請參考第3,2,3章節(jié)。HTTP請求接口是放在線程組里的。HTTP請求也有2個特性:接口測試和作為監(jiān)聽器使用。這2個特性的具體說明請參考第3,2章節(jié)(接口測試)和第2,1章節(jié)(監(jiān)控TOMCAT資源)。DebugSampler腳本調試神器。當在使用正則表達式提取器時想知道提取的數(shù)值是否正確,就可以使用這玩意了。將此元件掛在某個接口下即可,然后執(zhí)行腳本(DEBUG結果如下)。腳本調試完了記得禁用啊。

。用戶登錄電。用戶登錄電BeanShellSampler中DebugSampler電故障分析故障走勢r取樣器結果(請求(響應熟據(jù)JMeterThread.last_sample_ok=trueJMeterThread.pack=org.apache.jmeter.threads.SamplePackage@333cf7rc53START.HMS=101310START.MS=1541383990650START.YMD=20131105TESTSTART.MS=1541397522256Imeter.USER_TOKEN_=(1)【用戶登錄】線程組1-1passwo「d二口C483E30A7A0BD9EF71D3CF973673924token=29ec472e-7783-41f5-93eC-32TO363323detoKen_g口=寸口Ken-29ec472e-7738-41f5-93eC-32TO363323de'token_g1=29ec472e-7730-41f5-93eC-32TO363323deusername=xnUsrOOO1響應斷言主要用于判斷返回值或內容是否正確,避免測試白忙活。常用監(jiān)聽器查看結果樹調試/運行腳本后查看結果內容。主要分為“取樣器結果”、“請求”和“響應數(shù)據(jù)”。聚合報告性能測試用,查看每個線程組運行性能指標數(shù)值。用表格察看結果查看所有線程組中每個接口的指標數(shù)值。性能指標這里就不列舉了,有些監(jiān)視器需要安裝JMETER插件或遠程連接登錄被這里就不監(jiān)控對象。2準備工作監(jiān)控資源監(jiān)控TOMCAT資源使用jmeter的tomcat監(jiān)視器功能,可以通過向tomcat的status頁面發(fā)送get請求,得到資源使用信息,然后轉換為直觀的圖像方式,這樣的話,就可以監(jiān)視到服務器的資源使用情況,不過需要注意的是,要使用tomcat監(jiān)視器功能,就必須在要監(jiān)視的服務器上配置tomcat相關文件。(1)配置/。0f;0皿815863.》血,內容如下<?xmlversion='1.0'encoding='utf-8'?><tomcat-users><rolerolename="manager-gui"/><rolerolename="manager-script"/><rolerolename="manager-jmx"/><rolerolename="manager-status"/><userusername="admin"password="admin"roles=nmanager-gui"/><userusername="admin"password="admin"roles="manager-script"/><userusername="admin"password="admin"roles="manager-jmx"/><userusername="admin"password="admin"roles=Hmanager-status"/></tomcat-users>(2)配置/coMcontextxml,內容如下<Context><WatchedResource>WEB-INF/web.xml</WatchedResource><Managerpathname="/manager"debug="0"privileged="true"docBase=H/home/tomcat-9900/webapps/manager"/><ValveclassName="org.apache.catalina.valves.CometConnectionManagerValven/></Context>注意:配置完成后先訪問http://IP地址:端口號/manager/status,檢查是否配置成功。(3)打開Jmeter在線程組下添加“配置元件-HTTP授權管理器”,在HTTP授權管理的“基礎URL”中輸入http://IP地址:端口號/manager/status,用戶名為上面新建的admin,密碼是admin,其他默認,如下圖所示(4)接著在當前線程組下添加“HTTP請求”,輸入被檢測服務器中的TOMCAT訪問IP和端口號;路徑輸入/manager/status;請求參數(shù)輸入XML(必須大寫),值為true,如下圖A1所示并且將此HTTP請求設置為“用作監(jiān)視器”,如下圖A2所示圖A1

圖A2(5)接著在當前HTTP請求下添加“監(jiān)視器結果”和“察看結果樹”,如下圖所示?總則試計劃T2線程組(9900)丈HTTF授權管理器? http請求監(jiān)視器結果察看結果樹9線程組(9999)(6)最后運行JMETER腳本,此時進入到“監(jiān)視器結果”界面可以看到被測服務器IP和資源(圖片),如下圖所示事測試計劃?。線程組(9900)xHTT喉權管理器9JHTTP請求監(jiān)視器結果察看結果網(wǎng)。線程組0999)K)工作臺監(jiān)視器結果名稱:I監(jiān)視器結果可見如何使用JMETER\腳本\腳本01(監(jiān)控Tomcat資源).jmx。監(jiān)視器結果名稱:I監(jiān)視器結果2.1.2監(jiān)控WINDOWS資源(1)首先下載和安裝以下三個插件(都在如何使用JMETER\插件文件夾中)。JMeterPlugins-Extras-1.4.0(Jmeter插件)JMeterPlugins-Standard-1.3.1(Jmeter插件)ServerAgent-2.2.1(監(jiān)聽工具)(22.1.2監(jiān)控WINDOWS資源(1)首先下載和安裝以下三個插件(都在如何使用JMETER\插件文件夾中)。JMeterPlugins-Extras-1.4.0(Jmeter插件)JMeterPlugins-Standard-1.3.1(Jmeter插件)ServerAgent-2.2.1(監(jiān)聽工具)(2)解壓Jmeter的2個插件,將JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar復制到jmeter安裝目錄下的\lib\ext下。(3)重啟或者啟動Jmeter后在“監(jiān)聽器”中就顯示出可以監(jiān)控的資源,如下圖所示則試計劃工作臺濤加StartStartnopaus&sValidate線拜痢譴輯控制器?配置元件?定時器卜前置處理器?剪切Ctrr-X復制Ctrl-C粘貼Ctrl-VDuphcateCtrl+Shift-CR&s&tGEii刪除Delete監(jiān)聽器Sampler卜后置處理^>斷言?D&lavjp@gc-ActiveThreadsO\rerTimejp@gc-AutoStopListenerjp@gc-BytesTtiroughputOverTimejp@gc-CompositeGraphjp@gc-ConnectTimesOverTimejp@gc-ConsolsStatusLoggerjp@gc-DbMonSamplesCollectorjp@gc-FtexibleFiteWriterjp@gc-GraphsGeneratorjp@gc-HitsperSecondjp@gc-JMXMonSamplesColl&ctorjp@gc-LUpload&rjp@gc-Pag&DataExtractorjp@gc-P&rfMonMetricsCollectorRedo:gc-ResponseCodesperSecondjp@gc-R&sponseLatenciesOverTime打開.臺井保存為…調度器畫

持續(xù)時間jp@gc-R&sponseTimesDistributtomjp@gc-ResponseTimesOverTime?2?1startAgent.bat^R^(如何啟動請自監(jiān)控工具也可以選擇別的,這個不是唯一的。jp@gc-TransactionThroughputvsThreads是唯一的。(5)現(xiàn)在回到Jmeter,在線程組中添加要監(jiān)聽的服務器資源,比如CPU和內存和網(wǎng)絡硬盤I/O,操作如下A、首先添加HTTP請求并輸入相關內容后,再在當前HTTP所在的線程組

上添加jp@gc-PerfMonMetricsCollector上添加jp@gc-PerfMonMetricsCollector,界面如下圖所示B、接著在jp@gc-PerfMonMetricsCollector頁面中添加要監(jiān)聽的服務器資源,端口號默認是4444。為了能監(jiān)控到資源變化,我將線程組設置為無限循環(huán),最后啟動腳本,結果如下圖所示.測試計劃?U線程組—jp@gc-PerfMonMetricsCollector/HTT嘴求K工作臺名稱:jp@gc-PerflvlonMetricsCollector@Helponinisplugin27000024000021000018000015000030000.測試計劃?U線程組—jp@gc-PerfMonMetricsCollector/HTT嘴求K工作臺名稱:jp@gc-PerflvlonMetricsCollector@Helponinisplugin27000024000021000018000015000030000localhostlocalhostlocalhostlocalhostcoasueElo七£斫有額據(jù)寫入一個文件444444444444MemoryDisksI/ONetworkI/ODeleteRowLoq/DisplayOnly:口僅日志錯誤口Successes117:54:41-ERROR:ConnectException:Connectionrefusedconnect17:54:41-ERROR:.ConnedException:ConnectionrefusedconnectSettings300000120000注意:如果在上圖中間黃底區(qū)域顯示紅色報警信息,說明監(jiān)控工具未啟動。因為運行一次JMETER腳本進行監(jiān)控完成后,監(jiān)控工具會自動關閉,需要手動重新啟動。監(jiān)控配置腳本可見如何使用JMETER\腳本\腳本02(監(jiān)控windows資源).jmx。2.1.3監(jiān)控LINUX資源首先將JMeterPlugins-Extras-1.4.0和JMeterPlugins-Standard-1.3.1兩個插件放在JMETER的\lib\ext目錄下。再將ServerAgent-2.2.1監(jiān)控工具安裝在Linux服務器上并啟動(在Linux下進入到ServerAgent目錄下啟動服務:shstartAgent.sh)。打開Jmeter在HTTP請求下添加“監(jiān)視器”即可看到JP@開頭的監(jiān)視元素。

復制c-LUploader文件編輯Search運行選項幫助ComparisonAssertronVisaalizerHTTP請求Ctri-XCtrl-CCtJl-VDuplicateResetGoi°jp@gc-ActiveThreadsOverTimejp@gc-AutoStopListenerjp@gc-BytesThroughputOverTimejp@gc-CompositeGraph復制c-LUploader文件編輯Search運行選項幫助ComparisonAssertronVisaalizerHTTP請求Ctri-XCtrl-CCtJl-VDuplicateResetGoi°jp@gc-ActiveThreadsOverTimejp@gc-AutoStopListenerjp@gc-BytesThroughputOverTimejp@gc-CompositeGraphjp@gc-ConnectTimesOverTimejp@gc-ConsoleStatusLoggerjp@gc-DbP.lonSamplesCollectorjp@gc-FtexrbleFileWriterjp@gc-GraphsGeneratorjp@gc-HitsperSecondjp@gc-JMXMonSamplesCollectorT.刎試計劃口甥程組gSynchronizingTimer§/HTTF^^舔加插入上級辛HTTP請.配置元件?定時^?前置處理簿?后置處理器卜斷言監(jiān)聽器?Ctrl+Shift-C剩余操作與監(jiān)控WINDOWS資源一樣,監(jiān)控配置腳本可見如何使用JMETER\腳本\腳本03(監(jiān)控Linux資源).jmx。2.2使用技巧2.2.1參數(shù)化JMETER參數(shù)化一般使用的是配置元件里的CSVDataSetConfig。該元件支持TXT格式,別的格式我沒試過。當然了要使用參數(shù)化功能就必須有一個HTTP請求。即在HTTP請求下添加參數(shù)化元件。操作如下(1)在HTTP請求上添加“配置元件-CSVDataSetConfig",如下圖所示f餐刎試計劃丈HTTP信息頭管理器X-http請求默認值上拳(D1用戶登錄二線程組HTTP請求名稱:用戶登錄添加f餐刎試計劃丈HTTP信息頭管理器X-http請求默認值上拳(D1用戶登錄二線程組HTTP請求名稱:用戶登錄添加插入上投剪切Ctrl-X復制Ctrl-C粘貼Ctrl-V配置元件?定時器?獲耳響E/BeanSXDecugrr±hF前置處理器?后置處理器?斷言?眼限制的接口時去掉參數(shù)化,直接使用卬口眥4CSVDataSetConfigFTPW求最省值DNSCacheManager\ovsn\iHTTPCacheManagerHTTPCookia管理器添加成功后的界面如下圖所示CSVDataSetConfig名稱:loginusers注釋:Filename:文件路徑和文件名稱,需要帶文件后綴注意:這里必須使用TXT文件然后另存為CSV文件,不然執(zhí)行時會報錯全是亂碼。至于為什么會這樣,我也沒研究VariableNames(comma-delimited):文件中的參數(shù)名稱Delimiter(user,\t’fortab):當文件中存在多個變量時可以用英文輸入法下的逗號隔開。如果只有一個參數(shù)這里可以不填其他屬性值默認就好(2)現(xiàn)在回到HTTP請求界面,如果是GET方法,則在Basic標簽頁的Parameters標簽區(qū)域的列表中添加參數(shù)化文件中的變量(如下圖所示)。列表中左側的“名稱”列填寫接口要傳遞的變量名稱,列表右側的“值”就填寫參數(shù)化文件中的變量名稱(格式必須是${變量名})。如果是POST方法,則在Basic標簽頁的BodyData區(qū)域中輸入JSON格式的內容,如下圖所示參數(shù)化放置位置可以在某個HTTP請求下,也可以在某個線程組下,還可以放在測試計劃中!正則表達式提取器有些返回值是動態(tài)值,而這些動態(tài)值又會作為其他接口需要傳遞的參數(shù),那么我們就需要對這些動態(tài)值進行提取保存到變量中,再讓其他接口直接調用。舉例說明,現(xiàn)在有個接口的返回內容中有token值(JSON格式,如下圖所示),而這個值又會作為其他接口的Cookie值進行傳遞,使其能保證其他接口能成功

被調用。Text0用戶登錄Q被調用。Text0用戶登錄QBeanShellSamplera0用戶登錄電BeanShellSampler'取樣器結果「請求「響應藪據(jù)I rcode":0;message":wSUCCESSVdata,':ricr:1538994388837twusername-:"xnUsr000r,'headPicture':"TealNamew:'pJpJVmobile":「identityCa「cr-4212221994031900017sex-:“MALE」?!竒l(^1538979561575:o^■gName:)性能車隊零?7o(■gType7CUSTOMER二statLls…ENABLE7qq-:一「email""Vaddress":"|rokerr:-41a7d54c-9810-4d5f-9460-29c783b49a^:^KginType?:?SYS-「defaultVirr:null}}圖中內容是:"token":“xxxx”?,F(xiàn)在要得到xxxx就得使用正則表達式提取器。(1)在HTTP請求下方添加后置處理器-正則表達式提取器,界面如下所示按照上圖內容進行填寫,引用名稱請牢記,這個在后面會用到。正則表達式內容這個我也是百度出來的("token":"(,+?)”),大家可以自行研究下。參數(shù) 釋義引用名稱 在HTT僧請求中,引用此效據(jù)r需要用到的名稱正則表達式 用于將需要的數(shù)據(jù)提取出來模板 表示使用提取到的第幾個值:獷1$:表示取所有值$0$:表示隨機取值$1$:表示取第1■個$2$:表示取第二個以此類:表示取第n個匹配數(shù)字(0代表隨機) 0代表隨機取值,1代表全部取值缺省值 如果正則表達式?jīng)]有搜找到值,則使用此缺省值此時可以用DebugSampler查看接口返回數(shù)據(jù)中的正則的值是否正確,執(zhí)行腳本即可。

Text「取樣器結果'請求‘響應索(據(jù)口Text「取樣器結果'請求‘響應索(據(jù)口用戶登錄電BeanShellSamplerODebugSamplerJMeterThread.last_sample_ok=trueJMeterThread.pack=org.apache.jmeter.threads.SamplePackage@5c40da19START.HMS=141009START.MS=1541390209222START.YMD=20131105TESTSTART.MS=154U0612S955_jmeter.USER_TOKEN_=(1)【用戶登錄】線程組1-1password=DC483E80A7A0BD9EF71D8CF973673924token=t2aae5ab-5441-4463-3cca-50a5cf6bdee9t。既 既n-:T2aae5ath544M4Btoken_g1=12aae5ab-544M463-Scca-50a5cf6bdee9username=xnUsr0001(2)現(xiàn)在進入到HTTP請求頁面,在輸入值的列表(GET方法)或JSON輸入?yún)^(qū)域(POST方法)輸入已被正則的變量名稱即${變量名}(也就是正則表達式提取器中的“引用名稱”)。正則表達式腳本可見如何使用JMETER\腳本\腳本04(正則表達式提取器).jmx。集合點這個功能是用于并發(fā)測試的。在某個 HTTP請求下方添加“定時器”-SynchronizingTimer",界面如下圖所示“NumberofSimulatedUserstoGrounpby”代表并發(fā)數(shù)。該數(shù)值的設置請注意:集合點中的并發(fā)數(shù)最好能被線程組中設置的用戶數(shù)整除(線程用戶數(shù)%并發(fā)數(shù)=0),不然跑腳本會報錯。集合點在線程組中可以隨意拖動,必須放在HTTP請求前面。集合點可以和線程組的“線程屬性”和“調度器”結合使用,主要是為了保證所有的用戶能到達集合點并能發(fā)生并發(fā)。

一段時間內多次并發(fā)的設置需要注意線程數(shù)、Ramp-UpReriod、循環(huán)次數(shù)、調度器和SynchronizingTimer的設置關系。比如現(xiàn)在我要讓100個線程在一段時間內有間隔的完成多次并發(fā),設置為:線程數(shù)100,Ramp-UpReriod大于100即可(最好是線程數(shù)的倍數(shù)),循環(huán)次數(shù)為1,調度器選中然后輸入持續(xù)時間,接著在SynchronizingTimer設置并發(fā)數(shù)即可。集合點腳本可見如何使用JMETERM^^'腳本05(SynchronizingTimer集合點).jmx。2.2.4響應斷言作用是驗證返回內容是否為測試所需要的,有些情況下,返回內容不為SUCCESS但取樣器頁面中會顯示為200。主要是為了調試測試腳本返回信息是否為測試所需,避免浪費時間做無用功。正式測試時可以禁用此功能。這里我以HTTP請求的響應信息為例進行講解。(1)在HTTP請求下添加“斷言-響應斷言”,如下圖所示1測試計劃XH^P信息頭管理器調用有權限限制的接口時去掉參數(shù)化直接使用麻號(密碼:63A9F0EA7Bive口Usemultipart^ixrn-datafeePOSTrd":"${password}|1方法POSTHTTP請求H口哨求默認值名稱:用戶登錄插入上期Ctrl-XCtrl-CBeanSheltf|f=Ctrl-VBSFAssertion1DuplicateCtrl+Shift-CCompareAssertionResetGuiHTMLAssertionDeletEJSR223AssertionUndoMD5Hex斷言RedoSiieAssertionSMIMEAssertionXMLSchemaAssertionXMLffif1測試計劃XH^P信息頭管理器調用有權限限制的接口時去掉參數(shù)化直接使用麻號(密碼:63A9F0EA7Bive口Usemultipart^ixrn-datafeePOSTrd":"${password}|1方法POSTHTTP請求H口哨求默認值名稱:用戶登錄插入上期Ctrl-XCtrl-CBeanSheltf|f=Ctrl-VBSFAssertion1DuplicateCtrl+Shift-CCompareAssertionResetGuiHTMLAssertionDeletEJSR223AssertionUndoMD5Hex斷言RedoSiieAssertionSMIMEAssertionXMLSchemaAssertionXMLffif言SaveasTestFragmentXPathAssertion響應斷言SaveScre&nAsImagectri+shift-G斷言持續(xù)時間打開…臺笄保存為.SaveNodeAsImagecui-G?Z運營看XHTIXMot■響山⑸的察看結果樹、鬃臺報告用表格察看圖形結果以斷言結果.、、*Transactioij-Hit.^nsrSr?萬用戶登奉二關2小%獲電;響應一-/日eanSt./Debug?Synchrc;0 (2)【故艮au⑶【故艮⑷【遴黑上防錄[線上斷言監(jiān)聽器?海:/api/plc一匚自動三定向Parameters-1{"usernar配置元件?定時能?前置處理器?后置處理器?ApplyTo默認即可,要測試的響應字段區(qū)域根據(jù)實際返回信息進行選擇,我這里選擇的是“響應文本”。模式匹配規(guī)則一般選中Substringo要測試的模式區(qū)域中輸入你要斷言的返回內容信息,一般是SUCCESS。如下圖所示響應斷言名稱:卜向應斷言注摩Applyto:OMainsampleandsub-samples?MainsampleonlyOSub-samplesonlyOJMeterVariable要馴試的響應字廢您響應文本ODocument(texl)。URL樣本O響應代碼。響應信息OResponseHeaders□IgnoreStatus模式匹配版則O包括O匹配OEquals?Substring□否要測試的模式要測試的模式SUCCESS此時再在HTTP請求或者該請求所在的線程組中添加監(jiān)聽器斷言結果,當腳本運行后可以在這里查看響應結果是否正確。正確的結果直接顯示為HTTP請求名稱如下圖所示斷言結果名稱:|斷言結果注暮:所有數(shù)據(jù)寫入一個文件文件名 |捌苴…斷言: 用戶登錄錯誤的結果顯示為與輸入的斷言內容不匹配的信息,如下圖所示響應斷言腳本可見如何使用JMETER\腳本\腳本06(響應斷言).jmx。另外返回內容中如果想要監(jiān)控的信息是動態(tài)值,那么可以使用正則先獲取返回信息然后再在響應斷言里輸入正則變量即可。2.2.5IP欺詐在做性能測試時,如果不設置ip欺詐,那么在運行腳本時所有的線程用的都是同一個ip地址,這樣不太符合真實的線上環(huán)境。另外有些程序會限制ip的使用,比如一個用戶只能使用一個ip地址,那么在運行腳本時不使用ip欺詐的結果就是祖國江山一片紅。所以ip欺詐功能需要根據(jù)實際情況來決定是否使用。反正我不用。以下操作步驟都是我在網(wǎng)上抄的,所以能不能成功,我不確定。(1)首先獲取一些閑置的ip地址,且必須為固定地址,不能是自動獲取的地址,方法:可以ping下哪些ip沒有用,沒有用的可以拿來用(cmd-pingip地址,也可以直接找網(wǎng)管)。(2)打開網(wǎng)絡共享中心一本地連接一點擊鏈接的網(wǎng)絡查看一屬性一Internet協(xié)議版本4一屬性一高級一添加多個IP地址,如下圖所示

文件舊漏撮?格磔L型《空一雪些172.1K.200.16172,16,200.123(4)在HTTP請求一下添加邏輯控制器-簡單控制器,選擇該控制器的目的是避簡單控制器名稱隼錄發(fā)帖注暮:免造成HTTP簡單控制器名稱隼錄發(fā)帖注暮:/htt£/htt£添加以:登號摘入上級?/限Z咻ChangeControlfer甥切5發(fā)巾AZ發(fā)巾復制http粘貼Jhttfin■■ntan.n4n配置元件?CSVDataSetConfig定的盎 ?前置處理器?Sampler卜后置處理器?麻吉 卜u啊0cacneManagerFTP請求熱省值HTTPCacheManagerHTTPCookie管理器HTTP信口落好理黑Ctrl-XCtrl-CCtrl-V1■r>U:XLL事則回時刷XHTTF信息頭管理器;線程組Xhttp請求默認值:;i:f八rm產(chǎn)招三,4七工口占口稱:(D1用戶登錄】線程組CriticalSectionControlleriu(2)【故障添加攻羯控制雷?>…(3)【故障Start酉E置元件?ForEmch控制器5口)1運營Startnopauses定時器?IncludeController 5>(5)【其他人.察看結果樹Validate前置處理器?jp@gc-ParameterizedController、聚含報告入用表格察看算4p圖形結果二斷言結果4yTransaction*4yHitsperSec4yResponseTm復制粘貼DuplicateCVI-XC-trlCCtrl-VCtrl+Shift-CSamplerk后置處理器?斷言 ?監(jiān)聽器 ?RuntimeController -SwitchControllerWhilleController事著控制器ResetGui刪除Delete]DelayThreat]調度器交替控制器僅一次控制器吞吐里控制器4yResponseT4yBytesThroui4yTransactionUndoRedo度■配置陵時詞f種)如果UID控制器錄制控制器4yResponseT(5)添加CSynchronizin打開化警網(wǎng)EhB才面VSDataSetConfig,即參數(shù)專行參數(shù)化這里就不多說了。“TestPlanfuThreadGroup*HTTPCookieManager冠UserDefinedVariables乂HTTPHeaderManager1卜s登錄發(fā)(6)接著將http請求界面中的Implementation改為HttpClient4oCixrterrt褶百:/i;:Lcaiiiorumphfi〃!國百立完向里逆無運向YCixrterrt褶百:/i;:Lcaiiiorumphfi〃!國百立完向里逆無運向YUsaKespAliXift, ^一■:?■:.「-「■」」 「l曰ruwjsMGOEpatibWh&nt:3附眼將器郵:笄舞名可堿P:otahostrdqti-ThreadGroupHTTPCOOKie蜀an被wuserDinnedv^ri^esHTTPHeaderManagerHTTP請求BasicAxlvaticedHMpClienl4▼Iit,削enieiTtat麗:方法:CET端口號:(7)將HTTP請求頁面切換到【Advanced】設置頁面設置sourceaddress為IP/Hostname。I刈暗1回1同―4BasicAdvancedBasicAdvancedf津TestPlanfajThreadGroup淺HTTPCookieManager犬.UserDefinedVariables*HTTPHeaderManager、1登錄發(fā)帖

HTTP請求名稱:http://localhost/upload.'Torum.php■,Embei■,Embeihttp://localhost/upload/fornm.php

HZ口目00“|~££&HTPJ1LFilesA:登錄事勞控制器/http://localhost/upload/forum.phpdhttp://localhosVuploadjTorum.php色發(fā)帖隼臺點-發(fā)帖事勞控制器Jhttp:.''/localhosVupload/forurn.php/httpJ/localhosVupload/member.php/http://localhosVuploadfforum.php口朗HTML文件獲取所有內含的費迪匚Sourceaddr&ssIPi'HostnameDevice-DeviceIPv4&asMD5hast]?(8)在后面添加CVSDataSetConfig設置好的參數(shù)名稱:${ipadress}。(9)添加結果樹,推行報告等,運行查看。T.TflffiPianfq1TriruJdGidupKHTrPGgMifHiagw唐UfierDeHrtpriVarlsiWesXI^TTFHsacterMan.ageit3團時1K■=VTHl;Fp!'--rJT.TflffiPianfq1TriruJdGidupKHTrPGgMifHiagw唐UfierDeHrtpriVarlsiWesXI^TTFHsacterMan.ageit3團時1K■=VTHl;Fp!'--rJri3瓊青耕學代M工幅^113J--11233T*13rti*4一口OO9中事白中,營?白。白4,0察看片果幗名春:緊香菇票利江年二照整甲?與人一十支件文件名^Fi:E?1JE^ml,Twcmjku&鰭。2he力n-L$thiAddFES3;473,日寓Cl14mDMlR口胃口WEdi加口KCEa_ll32nBg 君時10594瓦*P*EXCEn節(jié)旌—QNiiwussinum-iU;舒曰加『;XGE<J1LlmmZm『wqj?^iC^hnt*.:lln!iheifp-dlrvE!Jso-1內㈱?吐Mn;:甲a*0icnnpjtiizie;wjrwu:0m$24CLR3.5.30F29)胸口eH:tn明|制W.Ie叫曲一中tn祁?irn困吟品q/巾9#$雁0/*,MlitfrticnMidEM-iMMrpiihlidppllrsHththtiMtHd.■appIkiUor(10)也可以使用【cmd-netstat-an】查看ip的使用情況。EQ3CiXVJ'indaiLVs\5ystem32\cmd.exeicrosoftwindows[版本10.0.105S6](c)2015lierasoftCorparatian?保留所有權利。:\Users\arindn>netstat-ani舌動連接議PPPPPPPPPPPLfrccccccccccc^^WTTTTTTTTTTT?本地地址 外部地址狀態(tài)議PPPPPPPPPPPLfrccccccccccc^^WTTTTTTTTTTT?本地地址 外部地址狀態(tài)D.0.0.0:1350,0.0.0:0LISTENING口,0.0.0:44:0LISTENING0.0,0,0:66460,0.0,0:0LISTENTS:7680:0LISTENING0.包0.0:4965:0LISTENING0.0.0,0:496650,0.0.0:0LISTENING氏0.0.0:4^66:0LIS7EWIN3口,Q.口,0:496670,口,0,Q;QLISTENING0.0.0,0:4966:0LISTENING:49670:0LISTENING127.Q,0,1:40000.0,oho:oLISTENING3開始搞事情HTTP接口的方法有很多,這里我只講解GET和POST兩種。另外監(jiān)控對象以WINDOWS為例。

3.1準備工作(1)監(jiān)控TOMCAT資源(請參考2.1.1章節(jié)),監(jiān)控WINDWOS資源(請參考第2.1.2章節(jié))。(2)選取HTTP接口,了解接口需要傳遞的參數(shù),使用的方法及返回正常/錯誤內容及格式。(3)確定一個虛擬用戶是否只能使用一個IP地址。(4)確定消息頭內容,可以通過瀏覽器的開發(fā)者模式查看。以GoogleChrome瀏覽器為例簡單講解。打開瀏覽器輸入訪問地址及賬號和密碼(登錄頁面),然后F12開啟開發(fā)者模式后切換到Network標簽頁面開始錄制,然后點擊登錄按鈕進入到系統(tǒng)里面后關閉開發(fā)者模式,找到登錄接口,接著點擊右側的Header標簽頁面進行相關內容的查看即可。ElementsConsoleSourcesNetworkPerformanceMemoryApplicationSecurityAuditsJSCSSImgMediaFontDocWSManifestOther90000ms100000ms110000ms120000ms130000msDate:Mon,05Nov201809:45:24GMTServer:nginx/1.12.0vehidelou?t=1541411066681Set-Cookie:3AC_SESSIONID=8dl58425-8e27-4cdc-8441-79916062dbfd;Path:onlineRate?t=1541411066681Nov-201810:47:48GMT;HttpOnlyTransfer-Encoding:chunkedVary:OriginVary:Accept-EncodingonlineRate?t=1541411097504=1541411127496?RequestHeaders(10)□ElementsConsoleSourcesNetworkPerformanceMemoryApplicationSecurityAuditsJSCSSImgMediaFontDocWSManifestOther90000ms100000ms110000ms120000ms130000msDate:Mon,05Nov201809:45:24GMTServer:nginx/1.12.0vehidelou?t=1541411066681Set-Cookie:3AC_SESSIONID=8dl58425-8e27-4cdc-8441-79916062dbfd;Path:onlineRate?t=1541411066681Nov-201810:47:48GMT;HttpOnlyTransfer-Encoding:chunkedVary:OriginVary:Accept-EncodingonlineRate?t=1541411097504=1541411127496?RequestHeaders(10)□X-Application-Context:aerozhonghuan-jac-server:release:10041FlgetCurrentUserMenu?t=1541411066193□fuelConsumption?t=1541411066681OGroupbyframeOPreservelog(JDisablecache□OfflineOnline▼□current?t=1541411066684||getCurrer)tUserMenu?t=1541411066684□fuelConsumption?t=1541411097504vehidelou?t=1541411097504140000ms□□□□□vehidelou?t=1541411127496onlineRate?t=1541411127496rIfuelConsumption?t=1541411157509_TIvehidelou?t=1541411157509▼RequestPayloadviewsource▼{username:"facQl",password:"DC483E80A7A0BD9EF71D8CF973673924")password:"DC483E80A7A0BD9EF71D8CF973673924"22/25requests29.4KB/30.1KBtransferredusername:"facBl"3.2接口測試接口測試包括功能和性能兩個方面。該文章主要是講解如何使用JMETER編寫測試腳本,不包含性能測試的分析和調優(yōu)。該內容可以參考另外一篇文章《性能分析與調優(yōu)指南》。腳本組成基本組成如下圖所示

r.測試計劃Xhttp信息頭管理器Xhttp請求默認值fU線程組9Z用戶登錄乂loginusersL工響應斷言一■Synch「onizjngTime「――察看結果樹一&果合報告?用表格察看結果?斷言結果國工作臺具體操作如下(1)打開JMETER后,在測試計劃下添加線程組,如下圖所示又件瞬題search脛仃逝須幫助Threads(Users)k粘貼cui-vResetGuiUndoRedo+TTTTestFragment 卜酉EThreads(Users)k粘貼cui-vResetGuiUndoRedo+TTTTestFragment 卜酉E置元件 ?定時器 ?前置處理器 ?后置處理器 ?jp@gc-MappingThreadGroupjp@gc-UltimateThreadGroupsetupThreadGrouptearDownThreadGroup線程組名稱:注意:jp@gc-SteppingThreadGroup和jp@gc-UltimateThreadGroup用于性能測試的場景設置。setUpThreadGroup相當于初始化,在線程組之前運行。tearDownThreadGroup相當于退出,在線程組之后運行。這里講解的是線程組。(2)在該線程組下添加HTTP請求(3)在HTTP請求界面的Basic標簽區(qū)域輸入服務器IP、端口號、選擇方法(一般是GET和POST),輸入訪問路徑,最后再Parameters或者BodyData標簽頁中添加或者輸入要傳遞的參數(shù)名和值一般情況下,用非JSON格式傳遞參數(shù)的值在Parameters標簽頁的列表中添加,如下圖所示用JSON格式傳遞的參數(shù)在BodyData標簽頁中輸入,如下圖所示

[_|自動受定向叵]阻葩M定向0LfeeKeepAlive||UsemuItipart-'fc-rm-dstafc-rParametersBodyDataFilesUpload-1~{"username":{username}"?"password":"J{password}"^(4)如果接口需要通過不同的值進行測試,那么就需要對接口中待傳遞的參數(shù)進行參數(shù)化。在HTTP請求上右鍵點擊添加-配置元件-CSVDataSetConfig。完成參數(shù)化設置該配置元件可以放在HTTP請求下,也可以放在線程組,更可以放在測試計興HTT喟息頭管理器CSVDataSetConfig興HTT喟息頭管理器CSVDataSetConfig名稱:)CSVDataSetConfig注釋:共HTT嗝求默認值r短線程組F/loginusers:氣響F/loginusers:氣響應既言興CSVDataSetConfig-■SynchronizingTimer—&察看結果樹K.鬃合報告&用表格察看結果—1.斷言結果K工作臺3.2.2數(shù)據(jù)共享這里借共享Cookie值來講解如何讓多個線程組共享某個Cookie值。比如只想進行一次登錄生成Cookie值后,其他多個線程組均使用這個Cookie值進行接口的調用。當一個JMETER腳本中存在多個線程組時會用到數(shù)據(jù)共享技術。1)先準備2個HTTP接口(分別放在2個線程組里),HTTPCookie管理器,HTTP信息頭管理器和HTTP請求默認值(可選)。結構如下f4接口測試然HTTP請求默認值XHTTP。。曲語管理器X-HTTP信息頭管理器u1差錄線程組/1量錄匕3」2-查詢數(shù)據(jù)線程組X2■■查詢數(shù)據(jù)、察看結果樹另外該測試計劃中已選中如下選項(即先運行登錄線程組然后再運行其他線程組)

.接口測試XHTTP?求默認值XHTTPCookieXHTTP信息頭管理器々斑1壁錄線程組遙錄tie,2-查詢數(shù)據(jù)^程組丁/2-查詢數(shù)據(jù)L 察看結果樹LR工作臺H獨立運行整個鞋程組(惻如在一個組運行緒束后啟動下一個)口H獨立運行整個鞋程組(惻如在一個組運行緒束后啟動下一個)口RuntearDownThreadGroupsaftershutdownofmainthreads口國勤則試模式只有當你需要記錄每個清求從服務器取得的數(shù)據(jù)到文件時才需要選擇函數(shù)測試模式。為了方便理解,我們將登錄線程組設置3個線程數(shù),查看數(shù)據(jù)線程組設置1為了方便理解,?4t接口測試http請求默認值丈HTTP管理器丈HTTP信息頭管理器U1差錄線程組[J1量錄2-查詢數(shù)據(jù)線程組察看結果樹工作臺?4t接口測試http請求默認值丈HTTP管理器丈HTTP信息頭管理器U1差錄線程組[J1量錄2-查詢數(shù)據(jù)線程組察看結果樹工作臺從上圖中我們可以看出查看數(shù)據(jù)線程組訪察看結果樹名稱:察看結果樹注窿所有數(shù)據(jù)寫入一個文件文件名Search:T&xt電1差錄日1差錄問系統(tǒng)失孵源因是會話過期。了找出出錯原因,我們看下查詢數(shù)據(jù)接口的請求92查詢數(shù)據(jù)內容(如下圖所示)Text廣取樣器結果『請求『響應熟據(jù)GEThttp://212.64.69,99:10041/api/app/advertisement/getLatestAdList[nocookies]GEThttp://212.64.69,99:10041/api/app/advertisement/getLatestAdList[nocookies]電1墨錄中錄/忸查詢額據(jù)RequestHeaders:Connection:keep-aliveContent-Type:application/jsonHost:212.64.69,99:10041User-Agent:Apa.che-HttpClient/4.5.2(Javayi,3,0_51;暫時沒發(fā)現(xiàn)問題,現(xiàn)在我們將查詢數(shù)據(jù)接口放在登錄線程組的登錄接口下方,再次執(zhí)行腳本然后再看看查詢數(shù)據(jù)的請求內容(如下圖所示)XHTTP請求默認值XHTTPcookie管理器XHTT喟息頭管理器鼐1-登錄線程組卜量錄LJ2道詢數(shù)據(jù)M2-查詢數(shù)據(jù)線程組察看結果樹名稱:察看結果樹所有數(shù)據(jù)寫入一個文件KI工作臺察看結果樹文件名取樣署結果請求GET9:10041/api/app/advertisement/getLatestAdListCookieXHTTP請求默認值XHTTPcookie管理器XHTT喟息頭管理器鼐1-登錄線程組卜量錄LJ2道詢數(shù)據(jù)M2-查詢數(shù)據(jù)線程組察看結果樹名稱:察看結果樹所有數(shù)據(jù)寫入一個文件KI工作臺察看結果樹文件名取樣署結果請求GET9:10041/api/app/advertisement/getLatestAdListCookieData:悔卜查瞰握?2-查詢數(shù)據(jù)Q2-查詢薊據(jù)RequestHeaders:Connection:keep-aliveContent-Type:application/jsonHost:9:10041User-Agent:Apache-HttpClient/4.5.2(Java/1.8.0_51)以上兩圖以比較,發(fā)現(xiàn)查詢數(shù)據(jù)接口的請求內容中有個CookieData值,這個值就是我們要獲取的數(shù)據(jù)。CookieData值有兩種使用方法:固定值和動態(tài)值,現(xiàn)在分別進行講解如何獲取CookieData值。Cookie固定值我們還是將2個接口分別放在2個線程組里。只運行登錄線程組,得到登錄接口返回的token值。如下圖所示Xhttp請求默認值XHTTPCookie管理器XHTTPW息頭管理器,戰(zhàn)1-登錄續(xù)程組1/1垂錄,卜,2■■查詢數(shù)據(jù)線程組

2■■查詢數(shù)據(jù)&寮看結果樹察看結果樹名稱:上看結果樹注暮:所有數(shù)據(jù)寫入一個文件文件名口瀏覽…|Log/DisplayOnly:口僅日志錯誤□SuccessesConfigureSearch:| |[_jCasesensitive口RegularexpSearchReset取樣i號結果[請求I響應數(shù)據(jù)I rcode,:0,,message-:'SUCCESSTdataTi<r:1533901647443,"createTime-:-2018-08-10ig4y2r.'createByr'roor.'updateTime^OIS-OS-IO20:08:36","updateBy-:"roor,tdl(r:null,"fleetl(r:1527577061112,"type--driver,TleetName"湊微車隊丁avata「:null「driverName-濟里-JnickName-mullJmObile-:-1588890100V,"passwor(T:-5E774EE5AEF9AODBF6B52B4E76FB4CCDTidentityCar(r7541234156845675456',"ser:-MALEVt>irtridar:null,■emair:null,"qq':null;address":null,'driverLicense":"541234156845675456*,-|icenseValidDate":"2020-08-1200:00:00-|icensePicture":,static/images/noPichjre.png",'qualityValidDate':-2021-08-1900:00:00","qualityPicture':"static/images/noPicture.pngTapplyStatus,:-NOT_APPLY".|[o^en]'5ddO6ecc-83d1-4fcd-8bdd-2b9197c2b8er-signe(rfalse,-identity':"driverlfleerrdefauttVin":*TTS0000200003000r,"openStolen-"YES","fleetUsernull.lotalPoinrnull."sair^Swie-}}記住這個tokne值。此時打開HTTPCookie管理器輸入以下內容.接口測試XHTTPi青求默認值Cookie管理署xhttp信息頭管理器滋1蚩錄線程組上/1量錄卜.2■■查詢數(shù)據(jù)線程組T 2-查詢題據(jù)匚屋察看結果樹HTTPCookie管理器名稱:〔HTTPCookie管理器注釋:Options□每次反復清除Cookies?Implementation:HC4CookieHandler▼CookiePolicy:standard存睛在Cookie管理器中的Cookie-3L 7 7JAC_SESSIONID5dd06ecc-83d1-4fcd-8bdd-2b9197c2b8e79/安全

五上圖中的“值”就是token值。然后再將HTTPCookie管理器放在第2個線程中,如下圖所示

?*接口測試http請求默認值¥http信息頭管理器fU1型錄線程組工Z1餐錄q電2■■查詢數(shù)據(jù)線程組I XHTTPC口口tie管理器—|y2■■查詢數(shù)據(jù)

察看結果樹LKI工作臺啟動2個線程組并執(zhí)行,最終得到線程組的正確返回值,如下圖所示辛-0接口測試XH仃嘴求默認值XH/Pfl辛-0接口測試XH仃嘴求默認值XH/Pfl息頭管理器9《5》1建錄線程組IJ1聿錄,移5■■查詢數(shù)據(jù)線程組)<j;HTTPCookie管螺L/2-查詢數(shù)據(jù)匚“察看結果樹察看結果樹名稱:|察看結果樹注釋二所有獺據(jù)寫入一個文件取樣溶結果請求響應數(shù)據(jù)|,"message':"BT:'roor,"adType":-DRIVERVadTitle':"^^hB222-,"adCover:whttp://6:30501/files/cover/rafedbac-a02c-4ade-98c0-c4089b16f8fe.png'"advertiser":"■誰看見7adeontenr:Jp>司忖告,新熠加,^0>i</p>"adStatus":",RELEASEVissuelcr:1,-issueTime-:-2O18-O6-2613:56:32°,"issueName"nullLricTiZO/createTime'^IS-oe-ia11:41:42VcreateBy":?rootVupdateTime":"2018-06-1911:41:4T「updateBT;"roofadType■:-DRIVER-adTltleF機廣告Tja(lCover:-http://222.2l2.94.96:3050l/mes/cover/6953cca2-54aX52l-a5b2-eaf746b026d9.png-:a(?veEser■一道森傳媒--adContenr「vp也難輕卡車輛展示v/p>7adStatus~-RELEASETissuel(ri「issueTime;-20l8-06-1911:41:47VissueName":null}.ri<r:l7,'createTimeT2018-06-1518:20:36","createBr:Toor;updateTime":"2018-06-1518:20:4Z;updateBr:Toor;adType':'DRIVER',"adTitle':'^ff',"adCover:-http://26:30501/files/cover/4ffc27c0-ca6a?4637-aeb2-e6e42bf1f593.jpg丁advertiser:11優(yōu)酷傳媒"JadContenf,vp邛可啥地方撤地方v/p>TadStatus^RELEASE",■issuel(T:fissueTime':-2018-06-1518:20:4r;issueName':nullDCookie動態(tài)值使用原理:獲取第1線程組中登錄成功返回的token值后將其設置為全局變量,然后該變量作為第2個線程組中接口的cookie值使用。我們需要“正則提取器”(用于獲取token值并保存在變量里)和“BeanShellSampler(將token值設置為全局變量)”。1)修改修改perties文件:CookieManager.save.cookies=true。重啟jmeter2)正則提取器放在登錄接口下方,BeanShellSampler放在第1個線程組下方,結果如下圖所示

?金接口則試HTTP請求默認值乂HTTP信息頭管理器?混巾手錄線程組9/1差錄>正則表達式提取器

萬BeanShellSampler.接口測試Xhttp清求默認值X.接口測試Xhttp清求默認值Xhttp信息頭管理器論1登錄線程組?"W1羞錄?畫裘達式提取圖LJBeanShellSampler(,2-查詢數(shù)據(jù)線程組XHTTPCoolde管理器L/2-查詢數(shù)據(jù)L屋瓢看結果樹KI工作臺正則表達式提取器名稱:I正貝陸達式提取器 一注釋:Applyto:QMainsampleandsub-samples(§)MainsampleonlyOSub-samplesonlyOJMeterVariable引用名稱:token正則表達式:引用名稱:token正則表達式:token-:-(.+?)'模板二$1$匹配數(shù)字(0代志隨機):1赦省值:I□Useemptydefaultvalue⑥主體OBody(unescaped)OBodyasaDocumentO信息頭ORequestHeadersOURLO響應代斛O響應信息引用名稱:token,可以自定義正則表達式:"token〃:〃(.+?)〃,不同數(shù)值的表達式寫法不一樣模板:$1$匹配數(shù)字:04)BeanShellSampler:${__setProperty(token,${token},)},如下所示5)此時在第2線程組中“HTTPCookie管理器”中輸入如下內容名稱:JAC_SESSIONID值:${_property(token)},這就是全局變量名稱域:就是接口的IP地址路徑:/7-1接口則試Xhttp請求默認值X7-1接口則試Xhttp請求默認值Xhttp信息頭管理器卜池登錄線程組O-Z1遙錄L/BeanShellSampler,:卷2-查詢數(shù)據(jù)線程組J2-查詢數(shù)據(jù)XHTTPCookie管理器察看結果樹L兇工作臺察看結果樹名稱:|察看結果樹注釋:斫有藪據(jù)寫入一個文件 文件名 瀏覽…Log/DisplayOnly:口僅Search:InCasesensitive口Regularexp.SearchResetText?1Text?1-登錄。BeanShellSampler電2-查詢數(shù)據(jù)rcode':0,"message-:'SUCCESS",'data':[ricr:21,'createTime-:-2018-06

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論