cancel
Showing results for 
Search instead for 
Did you mean: 

How to run testsuite with java?

_ivanovich_
Frequent Contributor

How to run testsuite with java?

Hi,

i want to run soapui testsuite with java.

i have soapui-5.6.0 open source.

in Eclipse i created a project.

with JRE1.8

Then i added all jars from lib into the java project and also this one soapui-5.6.0.jar

It looks there is a problem with groovy-all-2.4.17.jar

1-Should i use an older version of soapui for all jars?

2-Should i replace the groovy-all-2.4.17.jar by another version?

3-Is it correct to use the soapui open source jars here? or is it working only with pro version?

 

Thank you

 

 

 

It throws this error:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/Program%20Files/SmartBear/SoapUI-5.6.0/lib/groovy-all-2.4.17.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

 

i have this code in java:

import java.util.List;
import org.junit.Test;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.model.support.PropertiesMap;
import com.eviware.soapui.model.testsuite.TestCase;
import com.eviware.soapui.model.testsuite.TestRunner;
import com.eviware.soapui.model.testsuite.TestSuite;
import com.eviware.soapui.model.testsuite.TestRunner.Status;
import com.eviware.soapui.tools.SoapUITestCaseRunner;
import static org.junit.Assert.*;

public class SoapUITest {

@test
public void lessControl() throws Exception {
SoapUITestCaseRunner runner = new SoapUITestCaseRunner();
runner.setProjectFile("C:\\temp\\test.xml");
runner.setPrintReport(true);
runner.run();
}

@test
public void fullControl() throws Exception {
WsdlProject project = new WsdlProject("C:\\temp\\test.xml");
List<TestSuite> testSuites = project.getTestSuiteList();
for( TestSuite suite : testSuites ) {
List<TestCase> testCases = suite.getTestCaseList();
for( TestCase testCase : testCases ) {
System.out.println("Running SoapUI test [" + testCase.getName() + "]");
TestRunner runner2 = testCase.run(new PropertiesMap(), false);
assertEquals(Status.FINISHED, runner2.getStatus());
}
}
}
}

6 REPLIES 6
nmrao
Community Hero

Re: How to run testsuite with java?

I believe any one looks for the simple way to run the tests. Hope you agree this.

SoapUI provides a utility, testrunner.bat (.sh) under SOAPUI_HOME/bin directory.

If you open that file in a text file, you can see it is calling a Java class.

So I would suggest to execute your project using this command line. This is more optimum than opening an eclipse (which itself need lot of memory) and create a project, write code to execute the SoapUI project. To do this one needs to be expert/ familiar in eclipse tool.
Why to spend this much of efforts, which aren't required, while the simple command would do the same job?

Of course, it is not that it is possible.


Regards,
Rao.
nmrao
Community Hero

Re: How to run testsuite with java?

You can look for SoapUI documentation of command line options for testrunner.


Regards,
Rao.
nmrao
Community Hero

Re: How to run testsuite with java?

If it some kind of mandatory to execute the tests in this particular way only which why you are using eclipse ?


Regards,
Rao.
_ivanovich_
Frequent Contributor

Re: How to run testsuite with java?

Of course it works with command line too.

With project in Eclipse or Intellij idea or Netbeans or any other ide i can integrate the code easily with my team.

nmrao
Community Hero

Re: How to run testsuite with java?

Not sure I understand.

Is the above for QA team? Do they use IDE's? and write the above code?


Regards,
Rao.
_ivanovich_
Frequent Contributor

Re: How to run testsuite with java?

@nmrao Yes

New Here?
Join us and watch the welcome video:
Top Kudoed Authors