SoapUI architecture
Before we move onto the architecture let's take a look the capabilities of SoapUI and how can we use it for the benefit of our projects.
SoapUI provides the following testing features to the test team:
Functional testing [manual]
Function test automation
Performance testing
Security testing
Web service interoperability testing
Apart from these, SoapUI is also capable of integration with the following:
LoadUI for advanced performance testing
Selenium for multilayer testing
Jenkins for continuous integration
HP QC for end-to-end test automation management and execution
Note
SoapUI has a comparatively simple architecture as compared to other tools in the SOA testing world.
The following image, shows the architecture of SoapUI at an overview level:
Let's talk about the architecture in detail:
Test config files: Files which require power to test this includes test data, expected results, database connection variables and any other environmental or test specific details.
Third-party API: Third-party API helps create an optimized test automation framework example. JExcel API to help integrate with Microsoft Excel to create a data driven framework.
Selenium: Selenium JARs to be used for UI automation.
SoapUI Runner: This is used to run the SoapUI project and is a very useful utility for test automation as it allows you to run the test from the command line and acts as a trigger for test automation.
Groovy: This library is used to enable SoapUI to provide its users with groovy as a scripting language.
Properties: Test request properties to hold any dynamically generated data. We also have Test properties to configure SSL and other security configurations for test requests.
Test Report: SoapUI provides a Junit style report and user Jasper reporting utility for reporting of test results.