Automatic testing Oracle Service Bus using Jenkins, maven and SoapUI

Robbrecht van Amerongen
A lot of current projects are implementing some sort of service based architecture. Testing in this architecture becomes more complex. When implementing an OSB project with Scrum you test-automation is imperative. Scrum will require more frequent testing of your system. This is only feasible (in time and money) when you automate as much as possible.
Using soapUI you are able to create visually SOAP tests on your OSB implementation and running them against the defined infrastructure (develop, test, acceptance).  SoapUI enables with easy tools to implements verification and validation of the responses of your OSB implementation. When running the test you are also able to set limits in SLA response times on all the calls. This way you are able to monitor depreciation of performance in older parts of your OSB implementation when adding new services.
You can record and edit your SOAP test easy with the soapUI interface and edit it later. When you maven-enable your project it is quite easy running your tests when you implement the “maven-soapui-plugin” (see my other posting https://technology.amis.nl/blog/3061/automated-soap-testing-with-maven).  In the meantime version 3.0 of this plugin is released.
When implementing this with Jenkins you do not have to convert the results.xml into a Surefire report. Jenkins will manage this for you. Jenkins  will also enable you with an historical overview of all your test results.
Remark that the loadtest does not generate a Junit formatted log. This is only in the paid-version of soapUI.

 

<plugin>
  <groupId>eviware</groupId>
  <artifactId>maven-soapui-plugin</artifactId>
  <version>3.0</version>
 <executions>
  <execution>
  <phase>verify</phase>
  <id>soapui-tests</id>
  <configuration>
  <projectFile>${basedir}/src/test/soapui/CountryInfoService-soapui-project.xml</projectFile>
  <outputFolder>${basedir}/target/soapui</outputFolder>
 <junitReport>true</junitReport>
  <exportwAll>true</exportwAll>
  <printReport>true</printReport>
  <settingsFile>soapui-settings.xml</settingsFile>
 </configuration>
 <goals>
 <goal>test</goal>
 </goals>
  </execution>
 </executions>
 </plugin>

 

 

Connect soapUI to Jenkins

In Jenkins you run the goal clean verify and place a reference to the soapUI result log.  Please note: this option is only available in a Freestyle Jenkins project so you manually have to add maven as a build engine. See screenshot below.

 

 

And after running the tests a few times Jenkins will provide you with a nice history graph.

 


Google

Next Post

Complex Event Processing - Java Magazine - Sources & References

Facebook0TwitterLinkedinThis article contains the resources for an article on Complex Event Processing (using Oracle CEP) that is published in the March 2010 issue of the Dutch Java Magazine. This article describes the interaction between CEP and Java Applications, using examples of temperature sensors that are monitored (aggregating their readings and […]