Forum Discussion

bhavyasravani's avatar
bhavyasravani
Occasional Contributor
11 years ago

SoapUI Errors When Integrating the Project on Jenkins

Hello All,

I am having a hard time dealing with this. I have a soapui project with external jars and I have placed them in the Soapui/bin/ext folder. When I run the scripts on my machine, they run fine. But when I Integrate this on Jenkins, the scripts fail with the errors as shown below:

06:17:05,039 ERROR [SoapUI] An error occured [No match found], see error log for details
java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:461)
at com.eviware.soapui.support.GroovyUtils.extractErrorLineNumber(GroovyUtils.java:140)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:172)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:238)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:48)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:147)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:42)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)
06:17:05,040 ERROR [SoapUI] An error occured [Bad version number in .class file], see error log for details
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:793)
at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:564)
at org.codehaus.groovy.control.ResolveVisitor.resolveToClass(ResolveVisitor.java:709)
at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:275)
at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1235)
at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148)
at org.codehaus.groovy.control.CompilationUnit$8.call(CompilationUnit.java:601)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:493)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
at groovy.lang.GroovyShell.parse(GroovyShell.java:770)
at groovy.lang.GroovyShell.parse(GroovyShell.java:761)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:148)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:149)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:238)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:48)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:147)
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:42)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:595)

Please help me with this. Looks like the errors are because of the versions of Java. I compiled the classes using jdk 1.6 where soapui-4.5.1 contains a JRE folder and my testrunner.bat points to it. Jenkins project runs on a linux machine with jdk 1.6.

Please find my testRunner.bat contents :

@echo off

set SOAPUI_HOME=%~dp0
if exist "%SOAPUI_HOME%..\jre\bin" goto SET_BUNDLED_JAVA

if exist "%JAVA_HOME%" goto SET_SYSTEM_JAVA

echo JAVA_HOME is not set, unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
goto SET_SYSTEM_JAVA

:SET_BUNDLED_JAVA
set JAVA=%SOAPUI_HOME%..\jre\bin\java
goto END_SETTING_JAVA

:SET_SYSTEM_JAVA
set JAVA=java

:END_SETTING_JAVA


rem init classpath

set CLASSPATH=%SOAPUI_HOME%soapui-4.5.1.jar;%SOAPUI_HOME%..\lib\*;

rem JVM parameters, modify as appropriate
set JAVA_OPTS=-Xms128m -Xmx1024m -Dsoapui.properties=soapui.properties "-Dsoapui.home=%SOAPUI_HOME%\"

if "%SOAPUI_HOME%\" == "" goto START
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.libraries="%SOAPUI_HOME%ext"
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.listeners="%SOAPUI_HOME%listeners"
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.actions="%SOAPUI_HOME%actions"

:START

rem ********* run soapui testcase runner ***********

"%JAVA%" %JAVA_OPTS% com.eviware.soapui.tools.SoapUITestCaseRunner %*


Any suggestions/help would be greatly appreciated. Please help me.

Thanks and Regards,
Bhavya Sravani

5 Replies

  • bhavyasravani's avatar
    bhavyasravani
    Occasional Contributor
    Hi,

    I have fixed the issue and it is working fine now.

    Thanks and Regards,
    Bhavya Sravani
    • prathyu's avatar
      prathyu
      New Contributor

      Hi Bhavya,

      Am facing the same issue. Could you please let me know how you fixed the issue.

       

      Thanks!

  • Hi Bhavya,

    I am also running into same problems that you faced. Can you please let me know how you fixed the problem. I installed SoapUI Pro 5.1.2 and Groovy 2.3 along with jdk 1.7.

    Whenever I am trying to import any classes, it gets an error. Here is my groovy script content and error.

    Thu Oct 23 14:50:45 EDT 2014:ERROR:An error occurred [startup failed:
    Script1.groovy: 3: Unknown type: IMPORT at line: 3 column: 2. File: Script1.groovy @ line 3, column 2.
    import groovy.sql.Sql
    ^
    org.codehaus.groovy.antlr.ASTParserException: Unknown type: IMPORT at line: 3 column: 2. File: Script1.groovy @ line 3, column 2.
    at org.codehaus.groovy.antlr.AntlrParserPlugin.buildAST(AntlrParserPlugin.java:263)
    at org.codehaus.groovy.control.SourceUnit.convert(SourceUnit.java:272)
    at org.codehaus.groovy.control.CompilationUnit$12.call(CompilationUnit.java:649)

    try
    {
    import groovy.sql.*
    def ERROR_MSG = "Database does not have newly created user."
    sql = Sql.newInstance("jdbc:sqlserver://10.100.48.249","knowlagentcreate", "knowlagentcreate007!", "com.microsoft.sqlserver.jdbc.SQLServerDriver")
    // Sql.newInstance("jdbc:sqlserver://${Excel_Environment#SQL_DB_Server_IP}", "demo", "password", "com.mysql.jdbc.Driver")
    row = sql.firstRow("select count(*) from KA_USER where KA_USER.login = 'jyao'")
    log.info("Count: ${row.count}")
    assert (1 != row.count):ERROR_MSG
    log.info row.count
    }
    finally
    {
    sql.close()
    }

    Thanks,
    Vijay