kulya / jmeter-gradle-plugin

Other
40 stars 27 forks source link

Unable to add third Party Jars #31

Open philipbannon opened 10 years ago

philipbannon commented 10 years ago

Hi Guys,

Firstly thanks for making this plugin. Now I seem to be having two sets of problems relating to adding third party jars to the jmeter lib and lib/ext folder.

Firstly:

Basically I'm trying to use the third party jars provide by JMeterPlugins-ExtrasLibs.jar & atlantbh-components. In order to use these jars I need to place jars in the JMeter Lib and Lib/ext folder. When I open the JMeter UI via

gradle jmeterEditor

I get the following error:

2014/08/19 14:42:08 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Copyright (c) 1998-2013 The Apache Software Foundation 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Version 2.10 r1533061 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: java.version=1.8.0_05 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: os.name=Mac OS X 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: os.arch=x86_64 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: os.version=10.9.4 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: file.encoding=UTF-8 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Default Locale=English (United States) 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: JMeterHome=/Users/philip.bannon/IdeaProjects/mobile-rest-gradle/build/jmeter 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: user.dir  =/Users/philip.bannon/IdeaProjects/mobile-rest-gradle/build/jmeter 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: PWD       =/Users/philip.bannon/IdeaProjects/mobile-rest-gradle/build/jmeter 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: IP: 10.130.1.33 Name: pbannon.local FullName: 10.130.1.33 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: search_paths=/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/kg.apc/jmeter-plugins-standard/1.1.3/910fa7a0538bfa13a1a358945fb923014b5ff1a2/jmeter-plugins-standard-1.1.3.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/kg.apc/jmeter-plugins-extras/1.1.3/3473fbc0a04e4fd076f8606eb94f10ba1d2e3eea/jmeter-plugins-extras-1.1.3.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter/2.9/8cfff285e7384164ce89e1ba63c646d870f36dd2/ApacheJMeter-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_junit/2.9/ce1253223bed41815d1f017fc2a90acde0ea4154/ApacheJMeter_junit-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_monitors/2.9/708f52ea2b0ab7d44fe2a3854fdae8ac54dda673/ApacheJMeter_monitors-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_native/2.9/85beac8850362f0cd553c003fd45a499bfad0d4c/ApacheJMeter_native-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_ftp/2.9/d8422f00cecd2138388e592e5e009a75d209c19f/ApacheJMeter_ftp-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.beanshell/bsh-core/2.0b4/495e25a99e29970ffe8ba0b1d551e1d1a9991fc1/bsh-core-2.0b4.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_report/2.9/d7152f93a4e3e3454882a84bbb714d1c9ca1ffb7/ApacheJMeter_report-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_mail/2.9/ffb506dcc56d1e8538041a488ac689ebb9aade3b/ApacheJMeter_mail-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_jms/2.9/36cf8cbd8a9f73cd826b73014f558a7dbaebdd4b/ApacheJMeter_jms-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_functions/2.9/333ab439f81398e8d12ae5df9d0fe449cdcb3aec/ApacheJMeter_functions-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_java/2.9/c4219f4e9c9103e77016e028101d06eb308ad94d/ApacheJMeter_java-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_ldap/2.9/8e1061128bb1f011f16fa27c70d82bf259784283/ApacheJMeter_ldap-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_tcp/2.9/83664417f4558739d7b587e1704cb516c13cebdd/ApacheJMeter_tcp-2.9.jar;/Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.beanshell/bsh/2.0b5/fdc2ab6ae8b53e0d4761b296c116df747cd85199/bsh-2.0b5.jar;/Users/philip.bannon/IdeaProjects/mobile-rest-gradle/build/jmeter/lib/ext 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/kg.apc/jmeter-plugins-standard/1.1.3/910fa7a0538bfa13a1a358945fb923014b5ff1a2/jmeter-plugins-standard-1.1.3.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/kg.apc/jmeter-plugins-extras/1.1.3/3473fbc0a04e4fd076f8606eb94f10ba1d2e3eea/jmeter-plugins-extras-1.1.3.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter/2.9/8cfff285e7384164ce89e1ba63c646d870f36dd2/ApacheJMeter-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_junit/2.9/ce1253223bed41815d1f017fc2a90acde0ea4154/ApacheJMeter_junit-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_monitors/2.9/708f52ea2b0ab7d44fe2a3854fdae8ac54dda673/ApacheJMeter_monitors-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_native/2.9/85beac8850362f0cd553c003fd45a499bfad0d4c/ApacheJMeter_native-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_ftp/2.9/d8422f00cecd2138388e592e5e009a75d209c19f/ApacheJMeter_ftp-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.beanshell/bsh-core/2.0b4/495e25a99e29970ffe8ba0b1d551e1d1a9991fc1/bsh-core-2.0b4.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_report/2.9/d7152f93a4e3e3454882a84bbb714d1c9ca1ffb7/ApacheJMeter_report-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_mail/2.9/ffb506dcc56d1e8538041a488ac689ebb9aade3b/ApacheJMeter_mail-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_jms/2.9/36cf8cbd8a9f73cd826b73014f558a7dbaebdd4b/ApacheJMeter_jms-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_functions/2.9/333ab439f81398e8d12ae5df9d0fe449cdcb3aec/ApacheJMeter_functions-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_java/2.9/c4219f4e9c9103e77016e028101d06eb308ad94d/ApacheJMeter_java-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_ldap/2.9/8e1061128bb1f011f16fa27c70d82bf259784283/ApacheJMeter_ldap-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.apache.jmeter/ApacheJMeter_tcp/2.9/83664417f4558739d7b587e1704cb516c13cebdd/ApacheJMeter_tcp-2.9.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/.gradle/caches/modules-2/files-2.1/org.beanshell/bsh/2.0b5/fdc2ab6ae8b53e0d4761b296c116df747cd85199/bsh-2.0b5.jar 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Adding to classpath and loader: /Users/philip.bannon/IdeaProjects/mobile-rest-gradle/build/jmeter/lib/ext 
2014/08/19 14:42:08 INFO  - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties 
2014/08/19 14:42:09 FATAL - jmeter.gui.action.ActionRouter: !!!!!Uh-oh, didn't find any action handlers!!!!! 
2014/08/19 14:42:09 FATAL - jmeter.JMeter: An error occurred:  org.apache.jorphan.util.JMeterError: No action handlers found - check JMeterHome and libraries
    at org.apache.jmeter.gui.action.ActionRouter.populateCommandMap(ActionRouter.java:269)
    at org.apache.jmeter.gui.action.ActionRouter.getInstance(ActionRouter.java:300)
    at org.apache.jmeter.JMeter.startGui(JMeter.java:231)
    at org.apache.jmeter.JMeter.start(JMeter.java:380)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.apache.jmeter.NewDriver.main(NewDriver.java:218)

Here is my build.gradle:

apply plugin: 'java'
apply plugin: 'jmeter'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    //This JMeter plugin source code build depends on JMeter2.9 version.
    compile 'org.apache.jmeter:ApacheJMeter_core:2.10'
    compile 'org.apache.jmeter:ApacheJMeter_components:2.10'
    compile 'org.apache.jmeter:ApacheJMeter_http:2.11'
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.github.kulya:jmeter-gradle-plugin:1.3.2-2.9'
        classpath "kg.apc:jmeter-plugins:1.1.3"
        classpath "kg.apc:jmeter-plugins-standard:1.1.3"
        classpath "kg.apc:jmeter-plugins-extras:1.1.3"
    }
}

jmeterRun.configure {
    jmeterTestFiles = [file("src/test/jmeter/test1.jmx")]
    jmeterPluginJars = ["jmeter-plugins-1.1.3.jar","jmeter-plugins-standard-1.1.3.jar","jmeter-plugins-extras-1.1.3.jar"]
    jmeterIgnoreFailure = false
    reportDir = file("build/jmeter-report-1")
    jmeterPropertyFile = file("src/test/jmeter/jmeter.properties")
}

jmeterEditor.configure {
    jmeterPluginJars = ["jmeter-plugins-1.1.3.jar","jmeter-plugins-standard-1.1.3.jar","jmeter-plugins-extras-1.1.3.jar"]
    jmeterPropertyFile = file("src/test/jmeter/jmeter.properties")
}

jmeterEditor.doFirst {
    println("Copying Jar files Over")
//    copyExtJarsToJMeterExt.execute()
//    copyJarsToJMeterLib.execute()
}

jmeterRun.doFirst {
    println("Copying Jar files Over")
    copyExtJarsToJMeterExt.execute()
    copyJarsToJMeterLib.execute()

    }

task copyExtJarsToJMeterExt(type: Copy) {
    from "src/test/jmeter/lib/ext"
    into "build/jmeter/lib/ext/"
    include '**/*.jar'
}

task copyJarsToJMeterLib(type: Copy) {
    from "src/test/jmeter/lib"
    into "build/jmeter/lib/"
    include '**/*.jar'
}

task showMeCache << {
    configurations.compile.each {  println it }
}

Secondly:

I've a few jar files which are internal to my company which both need to go into /lib/ and /lib/etc/. Now we don't have these in Maven nor do we have an internal maven repro. Is there a way to copy these jars over to the lib and etc folders??

As you can see from my build.gradle file i have a doFirst task which copies them over however when JMeter runs it doesn't seem to have the jars loaded (i.e. the customer samplers dont show up in the UI)

Thanks in advance!!

philipbannon commented 10 years ago

@kulya Any chance you could take a look at this for me please?

I noticed that if I download version 2.9 of jmeter (i.e. without using the gradle plugin) I still get the same error. However if I pull down version 2.10 or 2.11 of JMeter the third party jars work.

I'm going to assume that there is a issue with using 2.9 JMeter with the g.apc:jmeter-plugins-*:1.1.3 plugins.

philipbannon commented 9 years ago

Any updates on this, can someone tell me how to override the version of jmeter that's download

foragerr commented 9 years ago

Phillip, as you can see here: http://mvnrepository.com/artifact/com.github.kulya/jmeter-gradle-plugin

This plugin is available on Maven Central only upto jmeter version 2.9 If you need a jmeter version higher than that, I'm afraid you'll have to build the plugin from source yourself. The source repo here is updated upto jmeter version 2.10 as of right now.

I have forked this project and added support upto 2.13. I will create a pull request, however kulya doesn't seem to be active lately, so can't say when that would be available as binaries on maven central.

philipbannon commented 9 years ago

@foragerr thanks for getting back to me and for the info.

Stupid question but if I build the plugin from source how do I set the version of JMeter that I want to use?

Thanks for the response!

djangofan commented 9 years ago

@philipbannon The latest version of kulya jmeter-gradle-plugin allows you to run nearly the latest version of Jmeter: 1.3.4-2.13, which is version 2.13 . You can try my Gradle launcher to get it running: https://github.com/djangofan/launch-jmeter

philipbannon commented 9 years ago

@djangofan perfect thanks for that, i'll give it a try when I'm in work tomorrow.

Thanks again