{"id":24549348,"url":"https://github.com/argodevops/example-pybehave-selenium-testing","last_synced_at":"2026-04-17T02:32:06.584Z","repository":{"id":272321638,"uuid":"914954085","full_name":"argodevops/example-pybehave-selenium-testing","owner":"argodevops","description":"Example repository demonstrating Gherkin style tests using behave and selenium","archived":false,"fork":false,"pushed_at":"2025-01-13T16:45:04.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-11T02:36:36.115Z","etag":null,"topics":["behave","python3","selenium"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/argodevops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-01-10T16:46:08.000Z","updated_at":"2025-02-05T13:30:23.000Z","dependencies_parsed_at":"2025-01-13T17:45:44.055Z","dependency_job_id":null,"html_url":"https://github.com/argodevops/example-pybehave-selenium-testing","commit_stats":null,"previous_names":["argodevops/example-pybehave-selenium-testing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/argodevops/example-pybehave-selenium-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argodevops%2Fexample-pybehave-selenium-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argodevops%2Fexample-pybehave-selenium-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argodevops%2Fexample-pybehave-selenium-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argodevops%2Fexample-pybehave-selenium-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argodevops","download_url":"https://codeload.github.com/argodevops/example-pybehave-selenium-testing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argodevops%2Fexample-pybehave-selenium-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31912373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["behave","python3","selenium"],"created_at":"2025-01-23T00:15:13.840Z","updated_at":"2026-04-17T02:32:06.550Z","avatar_url":"https://github.com/argodevops.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# example-selenium-testing\nExample repository demonstrating running selenium tests using [Pybehave Selenium Test Framework](https://github.com/argodevops/pybehave-selenium-test-framework).\n\n## Installation\n\nInstall the Pybehave Selenium library and dependencies.\n\n```\npip install pybehave-selenium-test-framework\n```\n\n## Environment Variables and Configuration Files\n\nCreate a configuration folder to add a **settings** and **configuration** file. A `.env` file can be used to source the settings and configuration environment variables.\n\n```\nexport SETTINGS_FILE_PATH=\"${PWD}/app/configuration/test-settings.json\"\nexport CONFIG=\"${PWD}/app/configuration/app-config.json\"\n```\n\n### Settings Files\n\nThe `SETTINGS_FILE_PATH` env variable defines the application settings file to use. This file contains the application wide settings. The default properties are:\n```\n{\n  \"environment\": \"dev\",\n  \"is_kv_config\": false,\n  \"browser\": \"chrome\",\n  \"is_headless_browser\": true,\n  \"driver_executable_path\": \"/usr/local/bin/chromedriver\",\n  \"driver_timeout\": \"5\",\n  \"wait_time\": \"5\",\n  \"autoretry_attempts\": \"1\"\n}\n```\n\n### Configuration File\n\nThe `CONFIG` env variable defines the application configuration file to use. This file contains properties specific to testing an application.\n```\n{\n    \"rest_api_token_url\": \"https://www.boredapi.com/api/activity\",\n    \"rest_api_token_key\": \"uuskjfdnnds77dsjjkds;lcmmmcm-da8ghasb;s=\"\n}\n```\n\n## Code Structure\n\nThe `app` directory contains the main codebase, structured as follows:\n\n- **`configuration/`**: Stores application and test configuration files like `app-config.json` and `test-settings.json`.\n- **`features/`**: Houses feature files, step definitions, and the `environment.py` file for `behave`.\n  - **`example/`**: Contains `.feature` files written in Gherkin syntax to define test scenarios.\n  - **`steps/`**: Step definitions that implement the logic for each scenario in the `.feature` files.\n- **`support/`**: Helper modules for test execution.\n  - **`actions/`**: Encapsulates feature-specific logic like `loginaction`.\n  - **`locators/`**: Defines locators for UI elements such as `loginlocator`.\n  - **`pageactions/`**: Implements page interaction logic like `loginpage`.\n\n`behave` requires a `features/environment.py` file to define hooks that control the setup and teardown processes for your test execution.\n\nStep definitions in `features/steps` back the Gherkin features and provide an entry point into the test business logic.\n\n## Running the Tests\n\nTo run the example test.\n\n```\nbehave app/features/example/login.feature\n```\n\n## Webdriver\n\nYou will need to maintain the correct version of the required webdriver for selenium to use. It is defined in the app-settings.json file and by default uses the chrome driver at `/usr/local/bin/chromedriver`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargodevops%2Fexample-pybehave-selenium-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargodevops%2Fexample-pybehave-selenium-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargodevops%2Fexample-pybehave-selenium-testing/lists"}