了解 JMeter 中的 ctx 和 prev 對象的常用方法
“各位測試童鞋們,好久不見,甚是想念,今天來點簡單的jmeter測試趣事****”
ctx 對象(JMeterContext)
ctx 對象是 JMeter 中最強大的內置變量之一。它代表 JMeter 的上下文,提供對 JMeter 引擎、取樣器、線程等的讀寫訪問。在 JMeter 內部,ctx 映射為 org.apache.jmeter.threads.JMeterContext 類。由于 JMeterContext 不具有線程安全性,故僅適用于在單線程中使用。
以下是一些常用方法:
-
getCurrentSampler(): 獲取當前取樣器。Sampler sampler = ctx.getCurrentSampler() log.info("當前取樣器名稱: " + sampler.getName()) -
getEngine(): 獲取 JMeter 引擎。StandardJMeterEngine engine = ctx.getEngine() log.info("JMeter 引擎: " + engine) -
getPreviousResult(): 獲取上一個取樣器的結果。SampleResult previousResult = ctx.getPreviousResult() log.info("上一個取樣器的響應時間: " + previousResult.getTime()) -
getThread(): 獲取當前線程。JMeterThread thread = ctx.getThread() log.info("當前線程名稱: " + thread.getThreadName()) -
getVariables(): 獲取當前線程的 JMeter 變量。JMeterVariables variables = ctx.getVariables() log.info("當前線程的變量: " + variables)
prev 對象(SampleResult)
prev對象是SampleResult類的一個實例,它是一個對象,可以存儲上一個請求(或者說上一個取樣器)的結果信息。prev變量的作用域是當前線程組,并且只能在后置處理器(PostProcessor)或斷言(Assertion)中使用。
-
getSampleLabel(): 獲取取樣器標簽。String label = prev.getSampleLabel() log.info("取樣器標簽: " + label) -
getResponseData(): 獲取響應數據。byte[] responseData = prev.getResponseData() log.info("響應數據: " + new String(responseData)) -
getResponseCode(): 獲取響應代碼。String responseCode = prev.getResponseCode() log.info("響應代碼: " + responseCode) -
getTime(): 獲取響應時間。long time = prev.getTime() log.info("響應時間: " + time + " ms") -
getURL(): 獲取請求的 URL。URL url = prev.getURL() log.info("請求的 URL: " + url)
總結
以上就是勇哥今天為各位小伙伴準備的內容,如果你想了解更多關于Python自動化測試的知識和技巧,歡迎關注我:公眾號\博客\CSDN\B站:測試玩家勇哥;我會不定期地分享更多的精彩內容。感謝你的閱讀和支持!
題外話,勇哥打算把新建的技術交流群,打造成一個活躍的高質量技術群。工作中遇到的技術問題,都可以在里面咨詢大家,還有工作內推的機會。有興趣的小伙伴,歡迎加我(記得備注是進群還是報名學習)
勇哥,10年落魄測試老司機,技術棧偏python,工作之余為粉絲進行簡歷修改、面試輔導、模擬面試、資料分享、一對一自動化測試教學輔導等副業發展。目前已服務十多位小伙伴,取得高薪offer。
關注公眾號,測試干貨及時送達
本文來自博客園,作者:測試玩家勇哥,轉載請注明原文鏈接:http://www.rzrgm.cn/Nephalem-262667641/p/18357327

浙公網安備 33010602011771號