Awesome
<img src="img/logo_b+w_transparent.png" width="100"/><br>robotframework-cookbook
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->A curated list of delicious Robot Framework recipes that will help accelerate the development of test automation scripts, especially for beginner or intermediate level engineers.
If you need help writing Robot Framework scripts or wish to update older scripts to use newer syntax then you have come to the right place. Here we will compile and maintain recipes of working Robot Framework scripts that can be used in your domain.
In the first part of the cookbook there are many simple recipes showing how to use builtin keywords and additional keywords from both internal and external Robot Framework libraries. Towards the back of the cookbook there are complete case studies demonstrating whole projects and test automation solutions.
Other useful resources
- Robot Framework Organization
- Beginners Guide to Robot Framework
- Robot Framework Quick Start Guide
- Robot Framework User Guide
- Robot Framework documentation
- GitHub (Documentation, Source Code & Issue Tracker)
- Awesome Robot Framework
- Robot Framework - Learn the basics
- Robot Framework Cheat Sheet and Quick Reference (credit: robocorp)
Star History
<img src="img/star-history-20240914.png"/>Notes for contributors
Contributions from the wider community are most welcome! Contributions can be either single recipes or whole case studies.
We recommend using Robotidy to help standardise the format of the Robot Framework code.
We also recommend using the Robot Framework Robocop static analysis tool to check your scripts are clean before submission. Robocop can be installed using pip:
$ python -m pip install -U robotframework-robocop
Issues are welcome and you can use them to post ideas for new recipes or report bugs and other observations for exisiting recipes.
For larger submissions simply clone this repository, create a feature branch (or work directly on master) and submit a pull request to merge your branch. If you are not comfortable with Git workflow then simply post your submission on the #cookbook Slack channel and I will help you publish your recipe or case study.
Installation and Usage
Python and Robot Framework must be installed prior to using Robot Framework Cookbook. Download Python and add to PATH during installation, then, use a command-line interpreter of your choice and run the following to install Robot Framework:
$ python -m pip install -U robotframework
You can check if the installation was succesful by running the following command:
$ robot --version
After confirming Robot Framework installation was a success, clone the Robot Framework Cookbook repository by running the following command:
$ git clone https://github.com/adrianyorke/robotframework-cookbook.git
Once the repository has been cloned, you can install relevant libraries by navigating to the tests folder and running:
$ python -m pip install -U -r ./tests/requirements-[version].txt
Table of contents
- Standard Library - BuiltIn<br>
- Standard Library - Collections
- Standard Library - DateTime
- Standard Library - OperatingSystem
- Standard Library - Process
- Standard Library - Remote
- Standard Library - String
- Standard Library - XML
- External Library - REST API
- External Library - Databases
- External Library - SSH
- External Library - Parallel executor for Robot Framework test cases (pabot)<br>
- External Library - SeleniumLibrary and SeleniumTestability
- External Library - AWSLibrary - for interacting with Amazon Web Services (AWS) Cloud Computing Services
- External Library - Robot Framework Browser library powered by Playwright.
- Robot Framework 4
- Case Studies
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/adrianyorke"><img src="https://avatars1.githubusercontent.com/u/30093433?v=4?s=100" width="100px;" alt="Adrian Yorke"/><br /><sub><b>Adrian Yorke</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=adrianyorke" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=adrianyorke" title="Documentation">📖</a> <a href="#maintenance-adrianyorke" title="Maintenance">🚧</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/pulls?q=is%3Apr+reviewed-by%3Aadrianyorke" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.tompurl.com"><img src="https://avatars1.githubusercontent.com/u/588713?v=4?s=100" width="100px;" alt="Tom Purl"/><br /><sub><b>Tom Purl</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=tompurl" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=tompurl" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://szabolcstoth.eu"><img src="https://avatars3.githubusercontent.com/u/1639751?v=4?s=100" width="100px;" alt="Szabolcs Tóth"/><br /><sub><b>Szabolcs Tóth</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=szabolcstoth" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=szabolcstoth" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://rasjani.github.io"><img src="https://avatars3.githubusercontent.com/u/27887?v=4?s=100" width="100px;" alt="Jani Mikkonen"/><br /><sub><b>Jani Mikkonen</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=rasjani" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=rasjani" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/bhirsz"><img src="https://avatars3.githubusercontent.com/u/8532066?v=4?s=100" width="100px;" alt="Bartłomiej Hirsz"/><br /><sub><b>Bartłomiej Hirsz</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=bhirsz" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=bhirsz" title="Documentation">📖</a> <a href="#maintenance-bhirsz" title="Maintenance">🚧</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/pulls?q=is%3Apr+reviewed-by%3Abhirsz" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tuxmux28"><img src="https://avatars1.githubusercontent.com/u/2794048?v=4?s=100" width="100px;" alt="Christoph"/><br /><sub><b>Christoph</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=tuxmux28" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=tuxmux28" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mkorpela"><img src="https://avatars1.githubusercontent.com/u/136885?v=4?s=100" width="100px;" alt="Mikko Korpela"/><br /><sub><b>Mikko Korpela</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=mkorpela" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=mkorpela" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ericbjones"><img src="https://avatars2.githubusercontent.com/u/1847952?v=4?s=100" width="100px;" alt="ericbjones"/><br /><sub><b>ericbjones</b></sub></a><br /><a href="#design-ericbjones" title="Design">🎨</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=ericbjones" title="Code">💻</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=ericbjones" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://emnaayadi.wordpress.com/"><img src="https://avatars.githubusercontent.com/u/6690738?v=4?s=100" width="100px;" alt="Emna Ayadi"/><br /><sub><b>Emna Ayadi</b></sub></a><br /><a href="#userTesting-emna24" title="User Testing">📓</a> <a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=emna24" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://medium.com/@joonasvenlinen"><img src="https://avatars.githubusercontent.com/u/38143731?v=4?s=100" width="100px;" alt="Joonas Venäläinen"/><br /><sub><b>Joonas Venäläinen</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=joonvena" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/olakowalczyk"><img src="https://avatars.githubusercontent.com/u/60587401?v=4?s=100" width="100px;" alt="Aleksandra Kowalczyk"/><br /><sub><b>Aleksandra Kowalczyk</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=olakowalczyk" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/kiblik1"><img src="https://avatars.githubusercontent.com/u/12598836?v=4?s=100" width="100px;" alt="Martin Škopek"/><br /><sub><b>Martin Škopek</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=kiblik1" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sarafurd"><img src="https://avatars.githubusercontent.com/u/67877801?v=4?s=100" width="100px;" alt="sarafurd"/><br /><sub><b>sarafurd</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=sarafurd" title="Documentation">📖</a> <a href="#maintenance-sarafurd" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://jepoy92.github.io/webdev-portfolio/"><img src="https://avatars.githubusercontent.com/u/65995065?v=4?s=100" width="100px;" alt="Jeff Choi"/><br /><sub><b>Jeff Choi</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=jepoy92" title="Documentation">📖</a> <a href="#maintenance-jepoy92" title="Maintenance">🚧</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ChinoUkaegbu"><img src="https://avatars.githubusercontent.com/u/77782533?v=4?s=100" width="100px;" alt="ChinoUkaegbu"/><br /><sub><b>ChinoUkaegbu</b></sub></a><br /><a href="https://github.com/adrianyorke/robotframework-cookbook/commits?author=ChinoUkaegbu" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!