本文版權(quán)歸xmeter.net所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處。
在寫(xiě)JMeter腳本的時(shí)候經(jīng)常需要“調(diào)試”腳本,比如,
?- 使用了某后置處理器(Post Processcors)抽取變量,然后需要知道抽取出的變量都有哪些,這些變量的值是什么
?- 抽取表達(dá)式的測(cè)試,包括測(cè)試數(shù)據(jù)的準(zhǔn)備和表達(dá)式的驗(yàn)證
?- ?BeanShell腳本的調(diào)試
調(diào)試執(zhí)行過(guò)程中變量?jī)?nèi)容
腳本中經(jīng)常會(huì)有一些變量的抽取,用于接下來(lái)腳本后續(xù)步驟的運(yùn)行,比如用戶(hù)在登錄之后,需要取得該用戶(hù)的token,作為后續(xù)請(qǐng)求的輸入?yún)?shù)。當(dāng)使用一個(gè)Post Processcors的時(shí)候無(wú)法確定是否抽取了正確的變量值。這種情況下可以使用Debug Sampler來(lái)幫助你看一下現(xiàn)在系統(tǒng)中所有的變量值。如下圖所示的腳本中,加了個(gè)正則表達(dá)式的后置處理器,查找www.xmeter.net首頁(yè)中出現(xiàn)的“script”標(biāo)簽,通過(guò)在其后加一個(gè)Debug Sampler就能知道抽取出的變量的個(gè)數(shù),以及各變量的值。
如下圖所示,Debug Sampler中打印出來(lái)的各個(gè)變量的名稱(chēng),以及對(duì)應(yīng)的值。
調(diào)試正則表達(dá)式
正則表達(dá)式在編寫(xiě)腳本的過(guò)程中會(huì)經(jīng)常被用到,那么如何在JMeter中調(diào)試寫(xiě)好的正則表達(dá)式呢?在“結(jié)果查看樹(shù)”中,提供了一個(gè)測(cè)試正則表達(dá)式的地方,如下圖所示,選擇“RegExp Tester”,
“Response data”視圖會(huì)被切換成“RegExp Tester”,如下圖所示,在“Regular expression”輸入框中輸入你想測(cè)試的表達(dá)式,點(diǎn)擊“Test”按鈕,就可以對(duì)正則表達(dá)式進(jìn)行測(cè)試,在下面的文本列表框中顯示的就是正則表達(dá)式的運(yùn)行結(jié)果。與之類(lèi)似,JMeter還提供了“CSS/JQuery Tester”,“JSON Path Tester”等,利用這個(gè)工具可以對(duì)返回的內(nèi)容進(jìn)行相應(yīng)表達(dá)式的測(cè)試。
模擬數(shù)據(jù)的生成
JMeter第三方提供了一個(gè)“Dummy Sampler”,該插件允許你“造數(shù)據(jù)”。假如在寫(xiě)腳本的時(shí)候,被測(cè)系統(tǒng)還沒(méi)有完全準(zhǔn)備好,或者你的腳本需要處理一些邊界條件,后端的服務(wù)暫時(shí)無(wú)法給你提供某些數(shù)據(jù),這種情況下你就可以利用Dummy Sampler提供的功能造出一些數(shù)據(jù),先保證你的腳本能夠正常運(yùn)行,在后端服務(wù)開(kāi)發(fā)完成后切換到正常的服務(wù)調(diào)用即可。Dummy Sampler的使用請(qǐng)參見(jiàn)這篇文章。
BeanShell腳本調(diào)試
在利用BeanShell進(jìn)行開(kāi)發(fā)腳本的過(guò)程中,有的時(shí)候需要對(duì)腳本的變量打印出來(lái)進(jìn)行查看。如下圖所示,可以使用兩種辦法,一個(gè)是通過(guò)JMeter內(nèi)置的log對(duì)象提供的方法info,通過(guò)該方法打印出來(lái)的日志會(huì)顯示在JMeter的日志中,在IDE中如下所示,該日志也會(huì)打印在 “-j”參數(shù)指定的日志文件中。另外一種是打印到控制臺(tái),通過(guò)System.out.println,如下圖所示打印的“world”。
綜上所述,JMeter提供了一些用于在腳本開(kāi)發(fā)、運(yùn)行過(guò)程中的一些調(diào)試手段,可以讓使用者非常方便的了解腳本的執(zhí)行情況,熟練掌握這些技能對(duì)加速腳本的開(kāi)發(fā)過(guò)程大有裨益。
關(guān)于我們
XMeter成立于2016年,是一家領(lǐng)先技術(shù)的性能測(cè)試持續(xù)集成咨詢(xún)與服務(wù)提供商。我們致力于提供給客戶(hù)可靠,簡(jiǎn)單,低成本的在線(xiàn)和企業(yè)性能測(cè)試解決方案。