{"id":22080938,"url":"https://github.com/andrei-pavel/robot-framework-boilerplate","last_synced_at":"2026-01-05T07:32:39.535Z","repository":{"id":82252834,"uuid":"132769294","full_name":"andrei-pavel/robot-framework-boilerplate","owner":"andrei-pavel","description":"👢strap your robot framework with this boilerplate","archived":false,"fork":false,"pushed_at":"2019-07-16T19:52:04.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T08:54:56.847Z","etag":null,"topics":["boilerplate","framework","robot"],"latest_commit_sha":null,"homepage":"","language":"RobotFramework","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrei-pavel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"andrei"}},"created_at":"2018-05-09T14:31:01.000Z","updated_at":"2023-10-25T20:49:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"36d070c7-507b-468c-b6fa-e6eba1bd80a2","html_url":"https://github.com/andrei-pavel/robot-framework-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrei-pavel%2Frobot-framework-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrei-pavel%2Frobot-framework-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrei-pavel%2Frobot-framework-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrei-pavel%2Frobot-framework-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrei-pavel","download_url":"https://codeload.github.com/andrei-pavel/robot-framework-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245168809,"owners_count":20571800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","framework","robot"],"created_at":"2024-11-30T23:19:15.493Z","updated_at":"2026-01-05T07:32:39.494Z","avatar_url":"https://github.com/andrei-pavel.png","language":"RobotFramework","funding_links":["https://liberapay.com/andrei","https://liberapay.com/andrei/donate"],"categories":[],"sub_categories":[],"readme":"# Robot Framework\n\n## Introduction\nThese tests are written robot framework is a language wrapper over `python`.\nThey run on the orchestration manager which has SSH access to all the remote\nhosts.\n\n---\n\n\n## Installation\n* On orchestrator:\n    * `apt-get install python2-pip`\n    * `pip install pyyaml`\n    * `pip install robotframework`\n    * `pip install robotframework-sshlibrary`\n\n---\n\n\n## Configuration\n* Make sure:\n    * all remote hosts are running Ubuntu 16.04 or newer\n    * variables are configured in [environment.yaml](../environment.yaml); for\nempty values, surround with single quotes (`'`); if you need to reference a path\nrelative to `dt-testing-framework`, use `_ROOTDIR`\n    * all hosts have a name prefix and, optionally, a name suffix; the prefix is\nfollowed by a sequential index starting with 1 which is followed by a suffix\n(e.g. `test-host1-x`, `test-host2-x` for prefix `test-host` and\nsuffix `-x`); prefixes and suffixes are common to all other hosts that\nbelong to the same group.\n* Install public SSH key [ssh-config/id_rsa.pub](ssh-config/id_rsa.pub) on the\norchestration manager and all the other remote hosts:\n    * `ssh-copy-id -i ssh-config/id_rsa.pub ${HOST}`\n\n---\n\n\n## Execution\n`../run-robot [-d|--debug] [-h|--help] [-o|--output-dir $output_directory] [-t|--test $test_name]`\n\nOR\n\n`robot [-h|--help] [-d|--outputdir $output_directory] [-t|--test $test_name] robot-framework/tests.robot`\n\n`$output_directory` can be any directory with read \u0026 write permissions (defaults\nto: `./output`) and after run it has the following structure:\n\n```\n. +\n  |- log.html                                                                            : Log containing debug information for last run test cases\n  |- output.xml                                                                          : Same debug log in XML format; used by Robot internally\n  |- report.html                                                                         : A report specifying which tests have passed and which have failed\n  |- Test-Case-1-Testing-Framework-Works +                                               : Directory containing test case 1 information\n  |                       |- Test-Case-1-Testing-Framework-Works.log                     : Log collected with rsyslog\n  |                       `- Test-Case-1-Testing-Framework-Works.rla                     : Log-analyzer result\n  |                       `- Test-Case-1-Testing-Framework-Works.rsa                     : State-analyzer result\n  |- Test-Case-2-Remote-Hosts-Are-Linux-Distributions +                                  : Directory containing test case 2 information\n  |                             |- Test-Case-2-Remote-Hosts-Are-Linux-Distributions.log  : Log collected with rsyslog\n  |                             `- Test-Case-2-Remote-Hosts-Are-Linux-Distributions.rla  : Log-analyzer result\n  |                             `- Test-Case-2-Remote-Hosts-Are-Linux-Distributions.rsa  : State-analyzer result\n  `- ...\n```\n\n* `$test_name` can have the following values:\n    * `Test-Case-1-Testing-Framework-Works`\n    * `Test-Case-2-Remote-Hosts-Are-Linux-Distributions`\n\n---\n\n\n## Development sources\nExtension of the Robot framework would require changes to the following source\nfiles:\n\n| File                                                                                 | Description                                              |\n|--------------------------------------------------------------------------------------|----------------------------------------------------------|\n|  [../environment.yaml](../environment.yaml)                                          |  global variables that are used in keywords              |\n|  [resources/filesystem_management.robot](resources/filesystem_management.robot)      |  keywords related to filesystem management               |\n|  [resources/general.robot](resources/general.robot)                                  |  general or miscellaneous keywords                       |\n|  [resources/host_management.robot](resources/host_management.robot)                  |  keywords related to filesystem management               |\n|  [resources/logging.robot](resources/logging.robot)                                  |  log-processing keywords                                 |\n|  [resources/process_management.robot](resources/process_management.robot)            |  keywords that handle processes                          |\n|  [resources/service_management.robot](resources/service_management.robot)            |  keywords that handle services                           |\n|  [resources/ssh_connectivity.robot](resources/ssh_connectivity.robot)                |  keywords that handle SSH connections                    |\n|  [tests.robot](tests.robot)                                                          |  the implementations of the actual test cases            |\n\n---\n\n\n## Support the maintainer\n\n\u003cnoscript\u003e\u003ca href=\"https://liberapay.com/andrei/donate\"\u003e\u003cimg alt=\"Donate using Liberapay\" src=\"https://liberapay.com/assets/widgets/donate.svg\"\u003e\u003c/a\u003e\u003c/noscript\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrei-pavel%2Frobot-framework-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrei-pavel%2Frobot-framework-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrei-pavel%2Frobot-framework-boilerplate/lists"}