Home

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

<!-- ALL-CONTRIBUTORS-BADGE:END -->

Actions Status License: MIT code style: black Maintenance

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

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

  1. Standard Library - BuiltIn<br>
  2. Standard Library - Collections
  3. Standard Library - DateTime
  4. Standard Library - OperatingSystem
  5. Standard Library - Process
  6. Standard Library - Remote
  7. Standard Library - String
  8. Standard Library - XML
  9. External Library - REST API
  10. External Library - Databases
  11. External Library - SSH
  12. External Library - Parallel executor for Robot Framework test cases (pabot)<br>
  13. External Library - SeleniumLibrary and SeleniumTestability
  14. External Library - AWSLibrary - for interacting with Amazon Web Services (AWS) Cloud Computing Services
  15. External Library - Robot Framework Browser library powered by Playwright.
  16. Robot Framework 4
  17. 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!