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.