簡體   English   中英

Jmeter:如何在不同的JMX文件之間重用自定義java函數

[英]Jmeter: How to reuse custom java function between different JMX file

要求 :將每個采樣器的響應時間發布到Mongo DB,因為它創建了一個HttpClient java代碼(類函數)。

問題 :需要調用自定義(在150+ jmx文件之間重用相同的代碼)Java函數在每個采樣器之后從Beanshell調用。

void logTransaction(responseTime,samplerName);

解決方案需求 :將自定義java函數(.c或.txt)與jmx文件合並。

例如,在Load runner中,我們可以包含.h文件(在公共路徑中共享)和可重用代碼,並包含在globals.h中。

jmeter有什么方法或解決方案嗎?

您可以在JSR223 Sampler中運行相同的腳本文件,該文件也支持Java / Beanshell語言。

Script file字段中輸入腳本文件名,並在不同的jmx文件中重復使用它

在此輸入圖像描述

通過保存java文件並在JSR223中提供文件路徑,可以重用代碼。

創建一個包含可重用java代碼的JAR,並從JSR223 Listener中調用它,檢查“Cache compiled script if if available”。

JSR223監聽器

使用默認腳本語言(Groovy)對您的調用進行編碼:

def yourInstanceClass = new YourClass()
yourInstanceClass.logTransation(sampleResult.getTime(), sampleResult. getSampleLabel());
  1. 將下一行添加到user.properties文件(位於JMeter安裝的“bin”文件夾中)

     beanshell.sampler.init=BeanShellSampler.bshrc 
  2. logTransaction函數放在BeanShellSampler.bshrc文件中(相同位置,JMeter的“bin”文件夾)
  3. 下次啟動JMeter時,您可以在任何腳本中從任何Beanshell Sampler調用該函數

參考文獻:

暫無
暫無

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

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