I’m a QA engineer, and I’d like to ask how you use Robot Framework in your actual work. Do you rely solely on the CLI tool to run .robot files? Or are there visual management platforms available, where you can schedule test case execution, generate test reports, and send them to users when needed?
I previously tried to build a similar platform using APScheduler + Flask + Vue, but my limited development skills have slowed down progress. So, I’m wondering if there’s an existing management platform available (like an open-source version of TestRail).
If there isn’t one, why hasn’t anyone developed such a platform? I searched Google but couldn’t find any related discussions. It feels like I’m the only one in the world with this need.
Personally I just run the cli tool, but I also write python code and robot tests in a text editor too, but I’m not typical…
The cli tool’s command can be used by other tools to run the tests, though some also use the robot framework api calls rather than the cli tool. Tools I know people use are:
your CI pipeline or CI management system e.g.
Jenkins
Github Actions (I use this)
Several IDE’s have the ability to run robot tests when you click a play button or similar in the IDE, e.g.:
I’m not that familiar with any of the IDE’s, but others here are, so if you have a question specific to one of them mention the IDE in your question and someone who knows it will help you.
I currently have a requirement that can be summarized as wanting to use scheduled tasks to periodically check if a webpage is functioning properly. For example, I manage a novel website, and I need to ensure that the webpage is running smoothly at all times, without any service suddenly crashing and affecting the user experience.
To achieve this, I need a bot that visits the page every five minutes, clicks on book links to ensure proper navigation, and tests actions like adding and removing books from favorites to verify they work correctly.
Since there are many pages to monitor, I need to write a lot of test cases so the bot can perform these operations to ensure the website is working as expected. In this case, I might also need a management platform to help me organize these tasks—such as setting task execution frequency, viewing the results of past tasks, and receiving email notifications when issues arise.
By the way, my English is not very good, and the above content was generated using translation software. Also, I’d like to show you the page I’m currently developing.
In my previous company, I used a similar platform. At that time, I didn’t know about Robot Framework (RF). They had further customized RF, allowing us QAs to create automated test cases simply by clicking to add steps and specifying parameters like XPath. It was incredibly easy to use, but I didn’t realize just how powerful that platform was until I joined my next company. That’s when I discovered they were using RF, and the platform in my previous company was self-developed and not publicly available.
Now, I’m facing a similar requirement to monitor webpages, and I have to develop a platform on my own to meet this need. However, this is a very challenging project for me, so I’ve come to the forum to seek help. Thank you for taking the time to read my post!
Sounds like you need a monitoring tool? do you already have one that’s used by your organisation?
If you don’t have a monitoring tool, look into Nagios and CheckMK (both open source) as I I’ve heard they have integrations with robot framework.
But you should be able to get any monitoring tool to run the robot command, the return from the cli tool will be 0 if all tests pass and 1-250 is a count of the number of failed tests (see Return codes for details)
Another approach some people use is, you can take is to just schedule the robot command to run with you’re OS’s task scheduler (e.g. Task Manager on windows, cron on unix). Add a listener to the robot command to put the results in an influx db and use graphana to display the results.
Robot framework is very flexible and can be integrated with many tools, it does the execution part for you very well, but you need to choose another tool manage the scheduling.
Your translations software seems to be working well, I understood and didn’t notice it had been translated
I am the maintainer of RIDE, so it is my IDE for Robot Framework. I use it to develop the test cases, and to run them locally. Then I use Jenkins CI, to schedule them (I have Web and Appium tests running daily). This is enough for our team “monitoring” needs.
When tests failed on Jenkins, the team receives an email with a link to the report (this could be a Slack or Teams message).
Celery is one of the most popular task scheduling libraries for Python. It has a web dashboard called Flower, which also provides integration with Prometheus and Graphana.
In the Elixir world there is an awesome task scheduling tool called Oban and Oban Web will be open-sourced in January.