190: Integration Automation Using Citrus Testing Framework with Christoph Deppisch
with Christoph Deppisch
senior software developer at ConSol Software located in Munich
About this episode
Today we’ll be test talking with the creator of the Citrus Integration Testing Framework, Christoph Deppisch. Citrus is an open source solution that was developed to help you automate integration tests for pretty much any messaging protocol or data format. So if you’re looking to expand your automation efforts beyond lame, flaky, UI-based automated tests, this episode is for you.
Quotes & Insights from this Test Talk Citrus Testing Framework with Christoph Deppisch
- Citrus has a focus on the messaging integration. So if you have a software and you have to talk to other services or to other software components and you are using any kind of messaging transport you usually you have HTTP rest or you have to JMS or some other kind of messaging transport then citrus is the framework that you should use or you can use to test these messaging integration.
- So citrus could trigger selenium for interacting with the user interface click some buttons and on the backed and side citrus can just receive this e-mail or could receive the JMS communication that was triggered by the UI intact in the very same test. So you can have a test case where your first action is a selenium action and you click some button and the second action could be receiving mail action that receives the mail. And the third action could be your JMS integration where you just validate that your back-end service is having some message on the on the JMS Transport.
- So, first of all, you can create XML test cases so you can write your test case without having to write Java code at all. You can just code it in XML. But then, of course, we also integrated the Java world itself so you can use a fluent API in Java to write your citrus test cases as you would write a normal Java unit test for example.
- Camel has a huge set of adapters for different messaging transports or data formats and citrus is able to interact or to use those camel components directly in the test. So if citrus is not having an integration with messaging transport or with a data format you should have a look into Apache camel and if there you can use it in citrus also because citrus can just use the camera component out of the box.
- There's a citrus BDD extension that works on top of Cucumber so that you can use the components and fluent API of citrus inside of Cucumber test.
- First of all you have to write your integration test so they can be automated. This is probably my advice. So many people create integration tests where you just have some kind of manual interaction and you have to do some kind of prepare for the testing environment and you should just do this and that in a manual state. No, just have to write your integration test so that it can be automated and integrated into your continuous delivery and only then these tests will be executed at a very fluent and frequent way. And I think this is the main advice I would say to someone that is into integration testing — try to automated it completely from one to the other hand.
Resources
Keep listening
Related episodes

Automation Testing Podcast · Ep. 609
Why Your AI Tests Pass When Your Features Fail with Donovan Brady
with Donovan Brady
Why Your AI Tests Pass When Your Features Fail? Donovan Brady of Leapwork shows how to make
Oct 27

Automation Testing Podcast · Ep. 608
Scary Test Automation POCs Made Easy: Halloween Special With Paul Grossman
with Paul Grossman
Running a proof of concept on test automation tools can feel like a horror movie. Vendors promise
Oct 20

Automation Testing Podcast · Ep. 607
Locust and Azure Load Testing: Create and Debug Load Tests with AI with Lars Holmberg and Abhinav Premsekhar
with Lars Holmberg and Abhinav Premsekhar
Performance testing has never been easier to start, or more important to get right. As teams ship
Oct 6

Automation Testing Podcast · Ep. 606
AI Agents Passed the Tests. Real Devices Didn’t. with Nick Metcalfe
with Nick Metcalfe
Cloud device farms make it easy to get started with real device testing. But what happens when
Sep 29