Features
See below a list of features that Citrus provides as a test automation framework for enterprise integration testing. If you are missing a feature in Citrus please help us and submit a feature request. You can also just vote for ideas and features on github, so we can start developing those things that are most relevant to you.
Control the test flow
- Send and receive messages and specify control messages for validation
- Simulate interface partners supporting a wide range of protocols (Http, JMS, SOAP WebServices, TCP/IP, …)
- Force timeouts and error situations
- Define the sequence of messages
- Wait for messages to arrive
- Trigger messages and validate responses
- Save dynamic message content and reuse those later in test case (proper response generation with dynamic identifiers)
- Test complex messaging scenarios with step by step sequence of operations
- Use advanced logic in test cases (loops, delays, retries, parallel sections, …)
- Message validation
Message validation
- Json message payload validation
- JsonPath element validation
- Groovy Json validation
- XML message payload validation
- XML tree comparison
- XPath element validation
- Groovy XML validation
- XML schema and DTD validation
- Groovy message validaiton
- Database access/validation
Validate existence of data
- Prepare/simulate database content
- Execute queries and use database content in tests
- Test writing
Human readable tests (XML format)
- Simple test creation (cross-editor support, XML schema support)
- Separation of test cases and environment configurations (easy environment switching, improved maintenance)
- Effective testing
Test grouping / test templates / test suites
- IDE support (execute tests as TestNG/JUnit tests from Eclipse, IntelliJ IDEA or NetBeans)
- Integration into build lifecycle (Maven, ANT)
- Reliable failure descriptions
- Reports and test results
- Parallel test execution realistic message load on tested system and faster test runs
- Provide test plan and document test coverage
- Framework extensions
Write adapters to support more protocols
- Write customized functions
- Write customized test actions
- Execute Groovy code