簡體   English   中英

如何在jmeter-maven-plugin下的JMeter JSR223預處理器中指定groovy文件?

[英]How to specify the groovy file in a JMeter JSR223 preprocessor under jmeter-maven-plugin?

我有幾個 JMeter jmx 文件。 他們每個人都有一個用 groovy 編寫的初始腳本,我指定使用 JSR223 預處理器,將文件名指定為src/test/jmeter/LoadScript.groovy 沒有導入,至少我沒有寫過,只有標准的 apache 庫。

這在 GUI 環境中工作得很好。 我所有的測試都有效,它們共享相同的LoadScript.groovy文件。

當我嘗試使用jmeter-maven-plugin在 maven 下運行它時,它會中斷,因為它為 groovy 文件提供了一個看起來很瘋狂的路徑。 例如

/home/roger/myproject/target/f4e97418-cbab-4ac8-ac4b-3bfbd686279a/jmeter/bin/src/test/jmeter/LoadScript.groovy

我希望它只使用 cwd 加上我指定的文件路徑。

我將此添加到jmeter-maven-plugin以使用我的 basedir 定義一個屬性

            <configuration>
                <propertiesSystem>
                    <jmeter-base>${basedir}</jmeter-base>
                </propertiesSystem>
            </configuration>

並將我對 groovy 文件的所有引用更改為在前面包含${jmeter-base}/ 但我仍然得到文件未找到引用,現在路徑是:

/home/roger/myproject/datamanager-service/target/b9c995e2-699d-4d56-923b-a99afb566cfc/jmeter/bin/${jmeter-base}/src/test/jmeter/LoadScript.groovy

如果這行得通,那將是一個糟糕的解決方案,因為它不允許在 GUI 下運行測試。

我會嘗試讓 maven 將文件復制到錯誤消息中的目錄,但其中的 UUID 是動態生成的,因此據我所知這是不可能的。

必須有一個簡單的方法來做到這一點。 有人知道這是什么嗎?

JMeter Maven 插件:

  1. src/test/jmeter文件夾的內容復制target/jmeter/testFiles
  2. 將 FileServer 的 baseDir設置為該文件夾

因此,如果您想使用相對路徑 -路徑需要相對於該文件夾。

最簡單和最靈活的方法是在 JSR223 測試元素的“文件名”字段中使用以下__groovy() function

${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir(),)}/LoadScript.groovy

在此處輸入圖像描述

它將在所有情況下得到解決:

  • 通過 maven 運行 JMeter 作為maven verify
  • 通過 maven 運行 JMeter GUI作為mvn jmeter:configure jmeter:gui
  • 從 shell 腳本或桌面快捷方式運行 JMeter GUI 並通過瀏覽打開.jmx 腳本

更多信息:如何使用 JMeter Maven 插件

暫無
暫無

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

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