Test architecture in detail
SoapUI Architecture is composed of many key components which help provide the users of SoapUI with advanced functionality like virtualization, XPath, invoking services with JMS endpoints, logging, and debugging.
Let's discuss these key components in detail:
- Jetty: Service virtualization/mock services
- We can create replicas of services in cases where the service is not ready or buggy to test. In the meantime, we want to create our test cases, for that we can use service virtualization or mocking and use that service.
- Jetty is used for hosting virtual services.
- Provided by Eclipse, Java based web server.
- Works for both SOAP and Rest.
- Jasper:
- Is used to generate reports
- Open source reporting tool
- Saxon XSLT and XQuery processor:
- We can use Path and XQuery to process service results
- The Saxon platform provides us with the option to process results using Path and XQuery
- Log4J:
- Used for logging
- Provides SoapUI, error, HTTP, Jetty, and memory logs
- JDBC driver:
- To interact with different databases we would need the respective drivers
- Hermes MS:
- Is used in applications where high volume of transactions take place
- It is used to send messages to the JMS Queue
- Receiver results from the JMS Queue
- We can incorporate Java JMS using Hermes JMS
- Scripting language:
- We can choose with Groovy or JavaScript
- We can select language for each project
- We can set language at project property level
- Monitoring:
- To check what is sent to the service and what is received from the service
- Runners:
- Execution can be run without using SoapUI
- Run from the command line
- Test runner
- LoadTestRunner
- SecurityTestRunner
- MockServiceRunner
- Can also be executed from build tools such as Jenkins