{"id":15144591,"url":"https://github.com/hudsonssrosa/pyon-robot-ui-tests-web","last_synced_at":"2026-02-09T03:32:45.252Z","repository":{"id":126290238,"uuid":"376070383","full_name":"hudsonssrosa/pyon-robot-ui-tests-web","owner":"hudsonssrosa","description":"PYON ROBOT - UI Test Automation with Robot Framework","archived":false,"fork":false,"pushed_at":"2021-06-16T07:22:02.000Z","size":43900,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-13T01:47:24.140Z","etag":null,"topics":["behavioural-tests","python","python-interpreter","robot-framework","ssh","ui-testing","web-automation-testing"],"latest_commit_sha":null,"homepage":"","language":"Python","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/hudsonssrosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2021-06-11T15:37:36.000Z","updated_at":"2021-06-16T07:22:04.000Z","dependencies_parsed_at":"2023-06-16T04:15:47.053Z","dependency_job_id":null,"html_url":"https://github.com/hudsonssrosa/pyon-robot-ui-tests-web","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"60fbdf27327bcf78fa8a1a70b58ef35b1d5a42b7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hudsonssrosa/pyon-robot-ui-tests-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudsonssrosa%2Fpyon-robot-ui-tests-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudsonssrosa%2Fpyon-robot-ui-tests-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudsonssrosa%2Fpyon-robot-ui-tests-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudsonssrosa%2Fpyon-robot-ui-tests-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hudsonssrosa","download_url":"https://codeload.github.com/hudsonssrosa/pyon-robot-ui-tests-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hudsonssrosa%2Fpyon-robot-ui-tests-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29255602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T03:07:45.136Z","status":"ssl_error","status_checked_at":"2026-02-09T03:07:24.123Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["behavioural-tests","python","python-interpreter","robot-framework","ssh","ui-testing","web-automation-testing"],"created_at":"2024-09-26T10:42:18.255Z","updated_at":"2026-02-09T03:32:45.225Z","avatar_url":"https://github.com/hudsonssrosa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\".resources/logos/pyon_logo_min.png\" height=\"360\"\u003e\n\n# pyon-robot-ui-tests-web\nPYON ROBOT - UI Test Automation with Robot Framework\n\nPyon UI Test Automation project is available to implement UI tests for web and mobile applications with the following stacks and approaches:\n\n- Programming Language: [Python-based](https://www.python.org/downloads/).\n- Framework for behavioural tests: [Robot Framework](https://robotframework.org/)\n- Minimal library requirements: [Selenium2Library-Robot](http://robotframework.org/Selenium2Library/Selenium2Library.html)\n\nTo know how you can configure your environment to implement and execute this project locally or even remotely, follow all the instructions from this documentation. So, let's start with it and good luck!\n\n## CLONING THE PROJECT FROM GITHUB\n\nGo to [GITHUB](https://github.com/hudsonssrosa/pyon-robot-ui-tests-web) and **CLONE** the project using **GIT** (download and install GIT from [here](https://git-scm.com/downloads))\n\nIn you local machine, choose you local repository and clone the project using SSH for Mac OS or Linux platforms with this command:\n\n```bash\n    git clone git@github.com:hudsonssrosa/pyon-robot-ui-tests-web.git\n```\n\nIf you are having issues when cloning or pushing to the repository make sure you have all your SSH keys in place. Click [here](https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) for more information about it.\n\n## PREPARING YOUR ENVIRONMENT\n\n### 1. Install Python\n\nDownload and install the [latest Python](https://www.python.org/downloads/) version (3.8 or over). Then, in any terminal, try this command to check if Python is correctly installed:\n\n```bash\n      python\n```\n\n### 2. Choose a good IDE\n\nOnce you have opened the project in an IDE of your preference (suggestion: install [Visual Studio Code](https://code.visualstudio.com/download) or [PyCharm CE](https://www.jetbrains.com/pycharm/)), then you will need to *set the Python interpreter* for the project.\n\nAfter this, you are able to create the *Python Virtual Environment* for the PyonUIT project and install all the requirements needed (libraries/packages). You just need to run for the first time the `update.py` and then the virtual environment as well the libraries in `requirements.txt` will be automatically installed for you.\n\n- In Windows:\n\n```bash\n      python update.py\n```\n\n- In MacOSX or Linux:\n\n```bash\n      python3 update.py\n```\n\n### 3. Ways to run this project\n\nBy default, the tests will run locally on Chrome browser, but you have 3 ways to customise your execution.\n\n#### 3.1 Run in debugging mode\n\nTo check if the environment is totally operational to begin with some implementation, or even check the existing tests, you might dealing with the environment variables to prepare for an execution. Thus, copy the file `env_settings.properties.local` and paste the new one in project's root (in the same place as the original file) renaming it to `env_settings.properties`. So, you can edit the properties freely, because this file is ignored by GIT versioning.\n\nInto this file, to consider a development setting, ensure the property `development_mode` is set as `true`. With this, all the properties that start with `debug_...` will be considered in a project debugging overwriting any command lines from CLI:\n\n```properties\n    development_mode = true\n    debug_flag_environment = staging\n\n    # Get more information about PYON CLI, type in the terminal console: \"python behave_runner.py --help\"\n    debug_flag_target = local\n    debug_flag_os =\n    debug_flag_os_version =\n    debug_flag_device_name =\n    debug_flag_browser =\n    debug_flag_browser_version =\n    debug_flag_mode = web\n    debug_behave_tags = *\n    debug_behave_excluded_tags = wip\n    debug_flag_orientation =\n    debug_flag_resolution = 1280x1024\n```\n\n- To generate Allure Reports locally, make sure you have `Java` installed and the flag `generate_report = true` on your `env_settings.properties`.\n\n#### 3.2 Run as if it were in CI\n\nAfter any implementation into the PyonUIT, it is recommended to validate the tests simulating an execution capable to inject parameters in environment variables, like it is performed in a build from a CI server.You also will need to copy the file `run_robot.sh.local` and paste the new one in project's root (in the same place as the original file) renaming it to `run_robot.sh` to be ignored in commits.\n\nInto this script file, you can set those environment variables, like this:\n\n```bash\n    PYON_ENVIRONMENT='staging'\n    PYON_TARGET='local'\n    PYON_MODE='web'\n    PYON_OS='MacOS Catalina'\n    PYON_OS_VERSION=\n    PYON_DEVICE='local'\n    PYON_BROWSER='chrome'\n    PYON_BROWSER_VERSION='90.0'\n    PYON_ORIENTATION='Portrait'\n    PYON_RESOLUTION='1280x1024'\n    PYON_TAGS='*'\n```\n\n#### 3.3 Run via CLI (only command line)\n\nYou can handle all those parameters presented previously (in section 4.2) setting them directly via CLI. You just need to pass the desired values in the arguments by command line.\nFirst of all, call the main runner file in the terminal and press Enter. So, try this:\n\n```bash\n      python3 robot_runner.py --help\n```\n\nYou might see all the supported arguments that you can use:\n\n```bash\nusage: robot_runner.py [options]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --environment {staging,dev,production}\n                        ==\u003e Environment to execute the tests (default = staging). Find the app URLs in properties file\n  --target {local}      ==\u003e Platform to execute the tests (in browsers: default = local): LT - LambdaTest; BS - BrowserStack; CBT\n                        - CrossBrowserTesting\n  --mode {web,headless,mobile}\n                        ==\u003e Browser execution mode according the platform / OS (default = web)\n  --os {MacOS High Sierra,MacOS Catalina,MacOS Big sur,Windows,Windows 10,iOS,Android,}\n                        ==\u003e Operational System from the current server\n  --os_version {14.3,14.0,14,13.0,13,12.0,12,11.0,11,10.0,10,9.0,9,8.1,8.0,8,7.1,7.0,7,6.0,6,5.0,5,4.4,}\n                        ==\u003e Preferably use XX.X for mobile and XX for OS platform versions\n  --device_name {local,Google Pixel 4 XL,Google Pixel 4,Google Pixel 3a XL,Google Pixel 3a,Google Pixel 3 XL,Google Pixel 3,Google Pixel 2,Google Pixel,Google Nexus 6,Google Nexus 5,iPhone 12 Pro Max,iPhone 12 Pro,iPhone 12,iPhone 11 Pro Max,iPhone 11 Pro,iPhone 11,iPhone XS Max,iPhone XS,iPhone XR,iPhone X,iPhone 8 Plus,iPhone 8,iPhone 7 Plus,iPhone 7,iPhone 6S Plus,iPhone 6S,iPhone 6,iPhone SE 2020,iPhone SE,iPad,iPad Pro 12.9 2020,iPad Pro 12.9 2018,iPad Pro 11 2020,iPad Mini 2019,iPad Air 2019,iPad 7th,iPad Pro 11 2018,iPad Pro 9.7 2016,iPad Pro 12.9 2017,iPad Mini 4,iPad 6th,iPad 5th,Motorola Moto G7 Play,Motorola Moto X 2nd Gen,Motorola Moto X 2nd Gen,OnePlus 8,OnePlus 7,OnePlus 7T,OnePlus 6T,Samsung Galaxy S20,Samsung Galaxy S20 Plus,Samsung Galaxy S20 Ultra,Samsung Galaxy Note 20 Ultra,Samsung Galaxy Note 20,Samsung Galaxy Note 10 Plus,Samsung Galaxy Note 10,Samsung Galaxy Note 9,Samsung Galaxy Note 8,Samsung Galaxy Note 4,Samsung Galaxy A51,Samsung Galaxy A11,Samsung Galaxy A10,Samsung Galaxy S10e,Samsung Galaxy S10 Plus,Samsung Galaxy S10,Samsung Galaxy S9 Plus,Samsung Galaxy S9,Samsung Galaxy S8 Plus,Samsung Galaxy S8,Samsung Galaxy S7,Samsung Galaxy S6,Samsung Galaxy J7 Prime,Samsung Galaxy Tab S6,Samsung Galaxy Tab S5e,Samsung Galaxy Tab S4,Samsung Galaxy Tab S3,Samsung Galaxy Tab 4,Vivo Y50,Xiaomi Redmi Note 8,Xiaomi Redmi Note 7}\n                        ==\u003e The device name models (check the platform version supported in --os_version)\n  --browser {chrome,firefox,safari}\n                        ==\u003e Browser accessed by web / mobile in desktop executions (default = chrome)\n  --browser_version {90.0,89.0,88.0,87.0,86.0,85.0,84.0,83.0,81.0,80.0,78.0,77.0,76.0,13.0,}\n                        ==\u003e Browser version from Chrome (80..88) or Firefox (76..78) or Safari (13.0 - MacOS is required)\n  --orientation {Landscape,Portrait}\n                        ==\u003e Screen orientation for mobile executions (default = Portrait)\n  --resolution {1024x768,1280x1024,1600x1200,1920x1080}\n                        ==\u003e Resolution allowed for a browser in web execution (default = 1280x1024)\n  --tags TAGS           ==\u003e Feature(s) / Scenario(s) to be executed (separate tags by comma and without spaces)\n  --exclude {wip,skip,bug,slow,obsolete,}\n                        ==\u003e Feature(s) / Scenario(s) to be ignored / skipped from execution using a single tag (recommended: wip)\n```\n\nFinally, you can vary the command options such as these samples below and much more. If you does not pass the other arguments, it will be considered the default values:\n\n```bash\n     python behave_runner.py\n     python behave_runner.py --target local --browser safari --environment production --resolution '1024x768'\n     python behave_runner.py --target local --browser chrome --mode headless\n     python behave_runner.py --os 'Windows' --os_version '10' --browser chrome\n     python behave_runner.py --mode headless\n     python behave_runner.py --tags demo-web-apw\n     python behave_runner.py --mode mobile --os iOS --os_version '14' --device_name 'iPhone 11'.resources\\\\mobile_automation\\\\Sample.ipa'\n```\n\n### HOW TO IMPLEMENT TESTS USING PYONUIT?\n\nConsidering that the number of tests can increase significantly in this project, it is very important to keep in mind that you also need to have a good and coherent organisation of `.robot` files. Initially, you should implement then into the `robot_features` folder and considering the environment in test though. Take a look at the recommended structure below.\n\n#### 1. Robot Files\n\n```\n    robot_features\n    └─── feature_domains\n        └─── staging\n            └─── authentication\n            │    │   login.robot\n            │    │   sign_up.robot\n            │        ...\n            └─── demo_web_shipping.robot\n            |        ...\n            production\n            └─── ...\n```\n\n##### 2. Creating a Robot Feature\n\nTo create the Robot scenarios, just follow the documentation at [RobotFramework.Org](https://robotframework.org/#examples) and have a fun!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhudsonssrosa%2Fpyon-robot-ui-tests-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhudsonssrosa%2Fpyon-robot-ui-tests-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhudsonssrosa%2Fpyon-robot-ui-tests-web/lists"}