Я хочу запустить графический интерфейс JMeter из моего скрипта Gradle, чтобы я мог тщательно контролировать версии и факторы среды, и поэтому не требуется никаких предварительных настроек для сборки на моей локальной машине разработчика 1 .
Мой JMeter build.gradle (часть многопроектной сборки):
plugins{
id 'base'
id 'java'
}
repositories {
jcenter()
}
dependencies {
compile 'org.apache.jmeter:ApacheJMeter:4.0'
}
task jmeterGui(type: JavaExec){
workingDir = "$project.buildDir/jmeter-working-dir"
classpath = sourceSets.main.runtimeClasspath
main = "org.apache.jmeter.NewDriver"
doFirst{
println "running Jmeter from Gradle"
mkdir workingDir
}
}
Это приводит к ошибке:
> Task :functional-test:jmeterGui
java.lang.Throwable: Could not access <source root>\functional-test\build\lib
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:102)
java.lang.Throwable: Could not access <source root>\functional-test\build\lib\ext
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:102)
java.lang.Throwable: Could not access <source root>\functional-test\build\lib\junit
at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:102)
java.lang.ClassNotFoundException: org.apache.jmeter.JMeter
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.jmeter.NewDriver.main(NewDriver.java:242)
JMeter home directory was detected as: <source root>\functional-test\build
Я ничего не могу найти в руководстве пользователя JMeter для этого. Это выполнимо?
EDIT : этот графический интерфейс, который я запускаю, предназначен только для редактирования планов тестирования. Я использую Redline13 для запуска реальных нагрузочных тестов.
1 В настоящее время в моей сборке все строго контролируется версией и является частью моей сборки Gradle. Это включает в себя NodeJS, NPM и Terraform. Буквально единственным предварительным условием для установки является Java 8 JDK. Я хочу продолжить этот подход с JMeter.