Robot Framework overview
To open-source something implies that it can be shared and modified by anyone, because the design has been made public for all to see. It’s a concept that comes from software development, and has also extended outside that realm. There are a set of principles that have grown from this concept. They are called the “the open-source way” and can also be applied to other professional domains such as media, science, manufacturing etc. These principles are Transparency, Collaboration, Release Early and Often, Meritocracy, and Community. Projects that adopt “the open-source way” can gain long term benefits that can include (but are not limited to) teaching the next generation of technologists who are in universities, encouraging innovation and experimentation, fast prototyping, open sharing of ideas, and collaborative development driven by the community.
Robot Framework is an open-source automation framework for acceptance testing and robotic process automation (RPA). It is an application and platform independent project with a growing ecosystem of external tools and libraries. The source code for this framework can be accessed publicly through GitHub and the maintainers provide guidelines on how anyone can contribute to it. Contributions to the framework can also be done in other ways too. Such as helping with the various tools and libraries displayed on Robot Framework’s website, the curated awesome-robotframework list, or the Robot Framework Market Square.
One of the key features that draws users to this framework is its accessible and legible tabular syntax. This syntax can be used to create suites of tests or RPA tasks written in simple natural language phrases. It also provides capabilities that allow you to leverage existing built-in, external, or custom keywords for creating other reusable high-level keywords. While running this framework it automatically generates clear and detailed result logs and reports in HTML, and also useful XML output files for results post-processing.
The framework also has a tagging feature for categorizing tests or tasks, and can also be used to select which one should run next. It provides a command-line interface that allows easy installation into an existing continuous integration system or build infrastructure. Utilizing tags to control the execution of tests or tasks from the command-line offers flexibility and efficiency during specific phases in a continuous integration pipeline. For example, maybe we only want specific checks tagged as “smoke test process”, “check feature x”, or “check Jira ticket 123” to run during specific phases of that pipeline process.
In addition to the built-in features and various libraries that come with Robot Framework itself, there are also options to use external libraries developed by the community or implement your own custom libraries. The Library API supports either Python or Java and is a simple way to get started with developing custom libraries. Another custom library option that is slightly more advanced but potentially very powerful is the Remote Library Interface that supports any programming language, not just Python or Java. Through those options you gain the capability to create solutions for challenges that can’t be handled by built-in libraries alone. This also has the additional benefit of starting you on the path towards collaborative development with the Robot Framework community.
The Robot Framework community is located in various cities all over the world, and it’s growing every year. It includes thousands of helpful like-minded individuals who specialize in testing and automation development. They are ready to help with any questions you may have about the framework and are also open to collaboration as well. Participating in the community can be done several ways. One way is to participate in online discussions on the Robot Framework Slack channel or the robotframework-users Google Group. Another way is to look for the closest meetup group on the Robot Framework Foundation’s Meetup.com page. There’s also the largest annual meetup event called RoboCon, where you can meet all of the Robot Framework Foundation members including the framework’s creator Pekka Klärck.
Now that you know about Robot Framework in general, you are ready to learn the Basic concepts of Robot Framework, and then start writing your own code!