Thursday 13 October 2011

Using the SoapUI maven integration

I have had the mixed pleasure of using the Maven integration for SoapUI (http://www.soapui.org/Test-Automation/maven-2x.html).

The tool itself is pretty good and makes it very easy to test that our soap based web-services are working as intended. The fact that is actually provides Maven and Junit integration out of the box is even better and fits very nicely with our CI environment.

There is however a few things that are not obvious when using the plugin.

The documentation page is really old, e.g. it refers to an old (2.5.1) version of the plugin. The trick here is that you should in general use the same version, as the desktop version you are running. In my case that is 4.0.0

It isn't documented on the page but there here is both a "maven-soapui-plugin" and "maven-soapui-pro-plugin" version of the plugin. In order to fully use project created using the pro version you need the pro version of the plugin

The version 4.0.0 of the plugin has a misconfiguration so you will need to manually add some dependencies to the plugin. The version I got working looks like this.
<plugin>
    <groupId>eviware</groupId>
    <artifactId>maven-soapui-pro-plugin</artifactId>
    <version>4.0.0</version>
    <configuration>
      ....
    </configuration>
    <executions>
      ....
    <executions>
    <dependencies>
        <dependency>
            <groupId>jgoodies</groupId>
            <artifactId>looks</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>fife</groupId>
            <artifactId>rsyntaxtextarea</artifactId>
            <version>1.3.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
        </dependency>                  
    </dependencies>
</plugin>
The two first dependencies are so that the plugin can run, and the last one is needed if there are any XPath assertions.

I have tried to upgrade to the latest 4.0.1 version which has just been released but I get the following error, so I suggest people stick to 4.0.0 for now

class "com.eviware.soapui.SoapUICore"'s signer information does not match signer information of other classes in the same package

3 comments:

  1. You can also use maven-soapui-extension-plugin 4.0.0.2 (https://github.com/redfish4ktc/maven-soapui-extension-plugin) to avoid adding dependencies manually.

    For a quick explanation about the 'signer' error with maven-soapui-pro-plugin 4.0.1, see https://github.com/redfish4ktc/maven-soapui-extension-plugin/issues/9#issuecomment-5981863

    ReplyDelete
  2. Hi, I've published information to fix the issue with the 4.0.1 version, see https://github.com/redfish4ktc/maven-soapui-extension-plugin/wiki/Releases-4.0.1.x

    ReplyDelete
  3. Excellent Post. Also visit http://whiteboxqa.com/#index.php

    ReplyDelete