There is a wide range of tools for End2End monitoring of applications. An essential distinctive feature: the licence form. The question of all questions: "May" it also be open source?
8 reasons for "yes", 8 reasons for Robot Framework.
"The best wind will not help those who do not know which ship to take." (Freely adapted from Seneca...)
This article is not about what is "good" or "bad". It is only important to me that you take a close look at Robot Framework before you commit yourself to expensive licenses - maybe you will thank me for this later.In this article I have collected eight very good reasons, which in my opinion speak clearly in favour of using Robot Framework in combination with RobotMK for End2End-Monitoring.
Reason nº. 1: The wheel has already been invented
If you are not yet convinced by Robot Framework and tend to program everything yourself, then the good news is: basically everything is already there.
Because for Python there are countless modules with which everything imaginable can be automated: Windows GUIs, web content, even more exotic ones like querying REST APIs can be perfectly realised with Python.
To that extent, the question therefore seems justified:
What is possible with Robot Framework that is not already possible with Python?
Is it not possible to program everything "generically" yourself?
Yes, it is.
However, you should be able to tick off all these points:
- You have so much Python knowledge that programming is child's play for you. Compare this to a carpenter who, when creating furniture, can focus entirely on how he constructs and designs the piece of furniture. He knows working techniques, setting and operating his machines perfectly well.
- During implementation, you make sure to build your framework generically, so that it takes care of error handling, result processing and flow control during all tests.
After all, you don't want to build it from scratch every time ("DRY principle", don't repeat yourself).
- Your framework has a clean interface so that newer test technologies (e.g. Playwright ) can be easily integrated. After all, your Python test concept should last a few years.
- In your framework, the functions of the modules used are abstracted to such an extent that even colleagues with less Python knowledge can familiarise themselves with them.
- The added value you create with your solution justifies the time you have invested (which will be considerable).
You will lose your way if even one of these points is missed.
You have met all these points? You have programmed your own test framework?
This is of course a knighthood for you. But hopefully you did not really do that, because then you reinvented the wheel.
Robot Framework has mastered the above-mentioned points since its birth 15 years ago. Since then it has been continuously improved, the development is more active than ever.
I am happy to quote my colleague Markus Stahl, who aptly described the advantages of Robot Framework here in a LinkedIn post:
If a tester were an expert in programming, he would have become a software developer.
Markus Stahl - Process Automation Engineer
"The toolbox for automation must be both powerful and easy to use. Programming languages such as Java, C++ or Python must not be the main tool here, as they demand far too much training from the tester and distract him from the technical requirements.
Most testers are not good at programming. It is an obstacle, in the best case a necessary evil in order to carry out the actual activity and concentrate on professionalism. (...)
Robot Framework reduces the programming part to such a minimum; it no longer feels like programming."
Reason nº. 2: Separation of test code and evaluation
The advantages of Robot Framework in combination with Checkmk become clear once you have understood how the RobotMK interface works: Robot test results (in XML format) are transferred unchanged via the agent output to the Checkmk server.
Only on the Checkmk system does the RobotMK-Check analyse the XML.
The XML nodes can be interlaced to any depth - they correspond exactly to the hierarchy of the executed keywords. Each of these nodes has an individual runtime information.
With the pattern-based RobotMK rule, runtime monitoring of the finest partial steps and at the same time of the "big picture" is possible.
Reason nº. 3: Structure and flexibility thanks to libraries and keywords
No need to code.
The "keyword driven" approach of Robot Framework makes it possible to use the methods of existing Python modules without having to program Python. Put simply, robot keywords are like another usability layer around such modules.
With the "SeleniumLibrary", for example, the complete range of functions of Selenium is available in the form of catchy keywords.
The test admin can create new keywords at will, in which he calls up other existing ones. With such "user keywords" Robot tests gain enormously in structure and readability.
The range of test modules is another unique selling point that sets Robot Framework apart from other test tools.
Reason nº. 4: The Robot Framework Community
When choosing a suitable E2E tool, the support aspect should not be disregarded.
In the case of Robot Framework and Checkmk, a worldwide community exchanges and helps each other on different channels.
Often even the developers of the corresponding robot modules answer directly. Here, problems are solved, solutions sought and new features discussed at a "big round table".
Tip: Also, in the Meetup scene there are always exciting talks about the Robot Framework. Nils Balkow-Tychsen shows on 11 November 2020 in the meetup "Berlin-Devs-Drinks" how to test Kubernetes-Cluster with the Library KubeLibrary.
Reason nº. 5: Robot Framework is platform independent
Many other End2End tools only run on one operating system (mostly Windows).
The platform compatibility of Robot Framework is the same as that of Checkmk. Robot tests can be optimally integrated into Checkmk, no matter if Windows, Linux, Mac, Android, iOS, ...
Reason nº. 6: Independence and security through Open Source
Let's not fool ourselves: it always costs money to implement a software solution and build up know-how for it. No difference between open source or commercial software.
Afterwards, however, open source software is actually free of charge - it then no longer causes any license costs.
Neither once, user-dependent, monthly or yearly. There is no price screw that can be turned afterwards.
Reason nº. 7: Central administration via WATO thanks to RobotMK
Thanks to the RobotMK interface, Checkmk or WATO remains the command centre - not only for the parameterisation of the robot checks, but also for their planning and execution.
The design of RobotMK follows the Checkmk principle:
- no unnecessary automatisms on the robot clients
- the agent collects the data, the evaluation logic remains with the monitoring server
This is why it is so easy to integrate already existing Robot tests into Checkmk monitoring.
"Single point of contact" for the adjustment of alarms the WATO interface remains for the Checkmk-Admin.
Reason nº. 8: Robot Framework is the "lingua franca" of test automation
Anyone investing time and money in a software product naturally wishes to be able to benefit from this solution for as long as possible.
The choice of commercial software is not necessarily wrong. Depending on the manufacturer, however, it harbours the incalculable risk of dictated product life cycles or even product discontinuation (e.g. due to a change of strategy by the manufacturer).
Robot Framework exists for 15 years and is not "owned" by any company. The non-profit consortium Robot Foundation consists of over 40 companies (including KUKA, Deutsche Post Address, Finnair, Capgemini).
It sponsors the development, community events and operating costs (e.g. website), but otherwise has no further influence.
It is certainly not wrong to be able to write a few lines of your own Python code.
Nevertheless - or perhaps precisely because of this - my recommendation is to use Robot Framework for E2E monitoring better today than tomorrow.
For the first few steps, the added value of this "framework" is likely to be overshadowed by the effort of familiarisation (which, however, will be limited).
However, it soon becomes clear that Robot Framework is an extremely powerful and sophisticated tool for writing robust and understandable application tests. Libraries and keywords leave all liberties.
The decision in favour of the open source tool "Robot Framework"
is not a decision for a single company.
It is a decision for the "lingua franca" of test automation
that people all over the world speak and understand.