Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adrianyorke/robotframework-cookbook

A curated list of Robot Framework recipes to help beginner and intermediate engineers create test automation scripts faster.
https://github.com/adrianyorke/robotframework-cookbook

actions cookbook hacktoberfest python recipes robotframework testautomation

Last synced: 4 days ago
JSON representation

A curated list of Robot Framework recipes to help beginner and intermediate engineers create test automation scripts faster.

Awesome Lists containing this project

README

        

#
robotframework-cookbook

[![All Contributors](https://img.shields.io/badge/all_contributors-15-orange.svg?style=flat-square)](#contributors-)

[![Actions Status](https://github.com/adrianyorke/robotframework-cookbook/workflows/Continuous%20integration/badge.svg)](https://github.com/adrianyorke/robotframework-cookbook/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/adrianyorke)

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](https://robotframework.org/)
* [Beginners Guide to Robot Framework](https://github.com/robotframework/BeginnersGuide)
* [Robot Framework Quick Start Guide](https://github.com/robotframework/QuickStartGuide/blob/master/QuickStart.rst)
* [Robot Framework User Guide](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html)
* [Robot Framework documentation](https://robotframework.org/robotframework/)
* [GitHub (Documentation, Source Code & Issue Tracker)](https://github.com/robotframework/robotframework)
* [Awesome Robot Framework](https://github.com/fkromer/awesome-robotframework)
* [Robot Framework - Learn the basics](https://dev.szabolcstoth.eu/robotframework-basics/)
* [Robot Framework Cheat Sheet and Quick Reference (credit: robocorp)](https://robocorp.com/docs/languages-and-frameworks/robot-framework/cheat-sheet)

## Star History

## 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](https://robotidy.readthedocs.io/en/latest/) to help standardise the format of the Robot Framework code.

We also recommend using the [Robot Framework Robocop](https://github.com/MarketSquare/robotframework-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](https://github.com/adrianyorke/robotframework-cookbook/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](https://app.slack.com/client/T07PJQ9S7/CU5RQ87K3) 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](https://github.com/adrianyorke/robotframework-cookbook). Download [Python](https://www.python.org/downloads/) and add to [PATH](https://docs.python.org/3/using/windows.html#the-full-installer) 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](https://github.com/adrianyorke/robotframework-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](https://robotframework.org/robotframework/latest/libraries/BuiltIn.html)

* [Recipe 1.1 - Hello World Logging](src/section_01/recipe011_hello_world_logging.robot)

* [Recipe 1.2 - For Loop](src/section_01/recipe012_looping.robot)

1. Standard Library - [Collections](https://robotframework.org/robotframework/latest/libraries/Collections.html)
* [Recipe 2.1 - Explaining Variable Prefixes](src/section_02/recipe021_explaining_variable_prefixes.robot)

* [Recipe 2.2 - Handling Lists](src/section_02/recipe022_handling_lists.robot)

* [Recipe 2.3 - Handling Dictionaries](src/section_02/recipe023_handling_dictionaries.robot)

1. Standard Library - [DateTime](https://robotframework.org/robotframework/latest/libraries/DateTime.html)
* [Recipe 3.1 - Handling Dates](src/section_03/recipe031_handling_dates.robot)

1. Standard Library - OperatingSystem
* [Recipe 4.1 - Working With File System](src/section_04/recipe041_working_with_file_system.robot)

1. Standard Library - [Process](https://robotframework.org/robotframework/latest/libraries/Process.html)
1. Standard Library - Remote
1. Standard Library - [String](https://robotframework.org/robotframework/latest/libraries/String.html)
* [Recipe 7.1 - String Manipulation Examples](src/section_07/recipe071_string_manipulation_examples.robot)

1. Standard Library - [XML](https://robotframework.org/robotframework/latest/libraries/XML.html)
1. External Library - REST API
* [Recipe 9.1 - Working With Requests Library](src/section_09/recipe091_working_with_requests_library.robot)

* [Recipe 9.2 - Working With RESTinstance Library](src/section_09/recipe092_working_with_rest_library.robot)

* [Recipe 9.3 - Working With Browser Library](src/section_09/recipe093_working_with_browser_library.robot)
1. External Library - Databases
* [Recipe 10.1 - Working With Databases](src/section_10/recipe101_working_with_databases.robot)

* [Recipe 10.2 - Hacking Database View](src/section_10/recipe102_hacking_database_view.robot)

1. External Library - [SSH](https://github.com/robotframework/SSHLibrary)
* [Recipe 11.1 - Working With SSH](src/section_11/recipe111_working_with_ssh_library.robot)

* [Recipe 11.2 - Retrieve Output from SSH Run Command](src/section_11/recipe112_retrieve_output_file_of_ssh_run_command.robot)

1. External Library - [Parallel executor for Robot Framework test cases (pabot)](https://github.com/mkorpela/pabot)

* [Recipe 12.1 - Running Tests in Parallel](src/section_12/recipe121_running_tests_in_parallel.robot)

1. External Library - [SeleniumLibrary](https://github.com/robotframework/seleniumlibrary) and [SeleniumTestability](https://github.com/rasjani/robotframework-seleniumtestability)
* [Recipe 13.1 - SeleniumLibrary & SeleniumTestability setup](src/section_13/recipe131_selenium_setup.robot)

1. External Library - [AWSLibrary - for interacting with Amazon Web Services (AWS) Cloud Computing Services](https://github.com/teaglebuilt/robotframework-aws)
* [Recipe 14.1 - AWS Simple Storage Service (S3)](src/section_14/recipe141_aws_simple_storage_service.robot)

1. External Library - [Robot Framework Browser library powered by Playwright.](https://github.com/MarketSquare/robotframework-browser)
* [Recipe 15.1 - Working With Browser Contexts](src/section_15/recipe151_working_with_browser_contexts.robot)

1. Robot Framework 4
* [Recipe 95.1 - Robot Framework 4 Native IF, ELSE, ELSE IF Syntax](src/section_95/recipe951_rf4_native_if_else_elseif.robot)

1. Case Studies
* [Case Study 01 - Regression Testing Gerald Ford International Airport (GFIA) Parking Lot Calculation Tool](src/section_99/casestudy_01/README.md)

* [Case Study 02 - Transcoding video library to a contemporary format suitable for all play back devices, e.g. mp4 or mkv](src/section_99/casestudy_02/README.md)

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Adrian Yorke
Adrian Yorke

💻 📖 🚧 👀
Tom Purl
Tom Purl

💻 📖
Szabolcs Tóth
Szabolcs Tóth

💻 📖
Jani Mikkonen
Jani Mikkonen

💻 📖
Bartłomiej Hirsz
Bartłomiej Hirsz

💻 📖 🚧 👀
Christoph
Christoph

💻 📖
Mikko Korpela
Mikko Korpela

💻 📖


ericbjones
ericbjones

🎨 💻 📖
Emna Ayadi
Emna Ayadi

📓 💻
Joonas Venäläinen
Joonas Venäläinen

💻
Aleksandra Kowalczyk
Aleksandra Kowalczyk

💻
Martin Škopek
Martin Škopek

💻
sarafurd
sarafurd

📖 🚧
Jeff Choi
Jeff Choi

📖 🚧


ChinoUkaegbu
ChinoUkaegbu

💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!