本文版權(quán)歸xmeter.net所有烁巫,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處。
在寫JMeter腳本的時候經(jīng)常需要“調(diào)試”腳本兵罢,比如洁仗,
?- 使用了某后置處理器(Post Processcors)抽取變量浩蓉,然后需要知道抽取出的變量都有哪些础钠,這些變量的值是什么
?- 抽取表達式的測試浩峡,包括測試數(shù)據(jù)的準(zhǔn)備和表達式的驗證
?- ?BeanShell腳本的調(diào)試
調(diào)試執(zhí)行過程中變量內(nèi)容
腳本中經(jīng)常會有一些變量的抽取毙替,用于接下來腳本后續(xù)步驟的運行,比如用戶在登錄之后践樱,需要取得該用戶的token厂画,作為后續(xù)請求的輸入?yún)?shù)。當(dāng)使用一個Post Processcors的時候無法確定是否抽取了正確的變量值映胁。這種情況下可以使用Debug Sampler來幫助你看一下現(xiàn)在系統(tǒng)中所有的變量值。如下圖所示的腳本中甲雅,加了個正則表達式的后置處理器解孙,查找www.xmeter.net首頁中出現(xiàn)的“script”標(biāo)簽,通過在其后加一個Debug Sampler就能知道抽取出的變量的個數(shù)抛人,以及各變量的值弛姜。
如下圖所示,Debug Sampler中打印出來的各個變量的名稱妖枚,以及對應(yīng)的值廷臼。
調(diào)試正則表達式
正則表達式在編寫腳本的過程中會經(jīng)常被用到,那么如何在JMeter中調(diào)試寫好的正則表達式呢绝页?在“結(jié)果查看樹”中荠商,提供了一個測試正則表達式的地方,如下圖所示续誉,選擇“RegExp Tester”莱没,
“Response data”視圖會被切換成“RegExp Tester”,如下圖所示酷鸦,在“Regular expression”輸入框中輸入你想測試的表達式饰躲,點擊“Test”按鈕,就可以對正則表達式進行測試臼隔,在下面的文本列表框中顯示的就是正則表達式的運行結(jié)果嘹裂。與之類似,JMeter還提供了“CSS/JQuery Tester”摔握,“JSON Path Tester”等寄狼,利用這個工具可以對返回的內(nèi)容進行相應(yīng)表達式的測試。
模擬數(shù)據(jù)的生成
JMeter第三方提供了一個“Dummy Sampler”氨淌,該插件允許你“造數(shù)據(jù)”例嘱。假如在寫腳本的時候,被測系統(tǒng)還沒有完全準(zhǔn)備好宁舰,或者你的腳本需要處理一些邊界條件拼卵,后端的服務(wù)暫時無法給你提供某些數(shù)據(jù),這種情況下你就可以利用Dummy Sampler提供的功能造出一些數(shù)據(jù)蛮艰,先保證你的腳本能夠正常運行腋腮,在后端服務(wù)開發(fā)完成后切換到正常的服務(wù)調(diào)用即可。Dummy Sampler的使用請參見這篇文章。
BeanShell腳本調(diào)試
在利用BeanShell進行開發(fā)腳本的過程中即寡,有的時候需要對腳本的變量打印出來進行查看徊哑。如下圖所示,可以使用兩種辦法聪富,一個是通過JMeter內(nèi)置的log對象提供的方法info莺丑,通過該方法打印出來的日志會顯示在JMeter的日志中,在IDE中如下所示墩蔓,該日志也會打印在 “-j”參數(shù)指定的日志文件中梢莽。另外一種是打印到控制臺,通過System.out.println奸披,如下圖所示打印的“world”昏名。
綜上所述,JMeter提供了一些用于在腳本開發(fā)阵面、運行過程中的一些調(diào)試手段轻局,可以讓使用者非常方便的了解腳本的執(zhí)行情況,熟練掌握這些技能對加速腳本的開發(fā)過程大有裨益样刷。
關(guān)于我們
XMeter成立于2016年仑扑,是一家領(lǐng)先技術(shù)的性能測試持續(xù)集成咨詢與服務(wù)提供商。我們致力于提供給客戶可靠,簡單,低成本的在線和企業(yè)性能測試解決方案置鼻。