簡體   English   中英

在Java Request Sampler中獲取並設置JMeter的屬性

[英]Get and set JMeter's properties in Java Request Sampler

我一直在為某些Java代碼使用JSR223采樣器,但是現在我正在實現Java Request采樣器。 JSR223代碼不能直接在Java Request采樣器中工作。 需要進行一些更改。 例如,在JSR223中,代碼為:

 props.put("p_driver", driver);
 object = props.get("p_driver").getJsonObject(dbser, dbn, wfid);

在這里,驅動程序是驅動程序類型的對象(我們已經編寫了一個實用程序類。

我想創建一個Object類型的屬性,並將驅動程序對象保留在其中。 我也想通過Java獲取並設置不同的屬性。 我知道我們可以使用:

JMeterContextService.getContext().getCurrentSampler().getProperties("p_driver");

但是,關於jmeter變量和jmeter屬性如何在Java Request Sampler中工作的了解卻很少。

檢查JavaSamplerContext這是Sampler上下文,它僅支持get(只讀)操作:

JavaSamplerContext用於向JavaSamplerClient實現提供上下文信息。 當前,它由GUI中指定的初始化參數組成。

也是代碼中的實現說明:

此類中的所有方法當前都是只讀的。

我看到您設法獲取屬性,因此這是要讀取GUI中使用的屬性/變量,而不是設置/更新屬性/變量。

特別是將不支持影響多線程的更新屬性:

如果將來包括更新方法,則應定義它們,以便可以將JavaSamplerContext的單個實例與每個線程關聯。

這是讀取JMeter變量的kafka示例:

您正在尋找的是JavaSamplerContext

使用JMeter 4.0,您將可以訪問:

然后,您可以通過以下方式獲取變量或屬性:

javaSamplerContext.getJMeterProperties()。獲得( “PROPNAME”)

javaSamplerContext.getJMeterVariables()。獲得( “varName的”)

然后,您可以通過以下方式設置變量或屬性:

javaSamplerContext.getJMeterProperties()。put(“ propName”,所需對象)

javaSamplerContext.getJMeterVariables()。putObject(“ varName”,您想要的對象)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM