{"id":17892748,"url":"https://github.com/neetjn/py-selenium-browser","last_synced_at":"2026-05-17T11:32:56.889Z","repository":{"id":62583283,"uuid":"114395024","full_name":"neetjn/py-selenium-browser","owner":"neetjn","description":"Decorators for provisioning tests with remote webdrivers.","archived":false,"fork":false,"pushed_at":"2018-01-02T13:26:21.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-19T23:28:01.731Z","etag":null,"topics":["browsers","nose","nosetests","provisioning","python","selenium","test","webdriver"],"latest_commit_sha":null,"homepage":"https://neetjn.github.io/py-selenium-browser/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neetjn.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}},"created_at":"2017-12-15T17:21:10.000Z","updated_at":"2022-03-10T05:22:24.000Z","dependencies_parsed_at":"2022-11-03T22:02:02.584Z","dependency_job_id":null,"html_url":"https://github.com/neetjn/py-selenium-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/neetjn/py-selenium-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neetjn%2Fpy-selenium-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neetjn%2Fpy-selenium-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neetjn%2Fpy-selenium-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neetjn%2Fpy-selenium-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neetjn","download_url":"https://codeload.github.com/neetjn/py-selenium-browser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neetjn%2Fpy-selenium-browser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33136737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"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":["browsers","nose","nosetests","provisioning","python","selenium","test","webdriver"],"created_at":"2024-10-28T14:44:14.326Z","updated_at":"2026-05-17T11:32:56.875Z","avatar_url":"https://github.com/neetjn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# py-selenium-browser\n\n[![build](https://travis-ci.org/neetjn/py-selenium-browser.svg?branch=master)](https://travis-ci.org/neetjn/py-selenium-browser)\n[![PyPI version](https://badge.fury.io/py/pysbr.svg)](https://badge.fury.io/py/pysbr)\n[![codecov](https://codecov.io/gh/neetjn/py-selenium-browser/branch/master/graph/badge.svg)](https://codecov.io/gh/neetjn/py-selenium-browser)\n\nDecorators for provisioning tests with selenium remote webdrivers.\n\nFor an all inclusive selenium framework check out [py-component-controller](https://github.com/neetjn/py-component-controller)!\n\n## About\n\n`py-selenium-browser` is a very simple project based off of [nose_parammeterzed](https://github.com/wolever/parameterized). This project provides very simple and easily configurable decorators to parameterize individual tests to run against multiple browser configurations against your stack.\n\n### Usage\n\n`py-selenium-browser` supports both Python 2.7 and 3.6 and can be installed with pip like so,\n\n```python\npip install pysbr\n```\n\nImport `Decorators` and `Configure` from `pysbr` to get started,\n\n```python\nimport os\nfrom selenium import webdriver\nfrom unittest import TestCase\n\nfrom pysbr import Configure, Decorators\n\n\nConfigure.platforms(name='chrome', platforms=['WIN10'])\nConfigure.capabilities(name='edge', capabilities={\n    'version': '5'\n})\nConfigure.profile(name='safari', profile=None)\nConfigure.enable(name='firefox')\nConfigure.disable(name='opera')\n\nCOMMAND_EXECUTOR = os.environ.get('COMMAND_EXECUTOR')\n\n\nclass SampleTest(TestCase):\n\n    @Decorators.browsers()\n    def test_login(self, capabilities, profile):\n        browser = webdriver.Remote(\n            COMMAND_EXECUTOR, capabilities, profile)\n        ...\n        browser.stop_client()\n        \n    @Decorators.browser(name='chrome', platform='WIN10')\n    def test_register(self, capabilities, profile):\n        ...\n        \n    @Decorators.random_browser()\n    def test_logout(self, capabilities, profile):\n        ...\n```\n\nThis project supports the Chrome, Firefox, Edge, Safari, and Opera browsers by default -- but other browsers can be defined like so,\n\n```python\nfrom pysbr.constants import BROWSERS\n\nBROWSERS.ANDROID = BROWSERS.BROWSER(\n    name, platforms, capabilities=None, profile=None)\nBROWSERS.browsers.append(BROWSERS.ANDROID)\n```\n\nAll browsers also disabled by default, so be sure to enable them prior to use with the decorators.\n\n## Testing\n\nAll module related unit tests are in the `tests` subdirectory.\n\nTo setup your environment run `make setup`. To run the test suite, use `make test`.\n\nRequirements:\n* Python 2.7, 3.6 (with pip)\n\n### Contributors\n\n* **John Nolette** (john@neetgroup.net)\n\nContributing guidelines are as follows,\n\n* Any new features added must also be unit tested in the `tests` subdirectory.\n* Branches for bugs and features should be structured like so, `issue-x-username`.\n* Include your name and email in the contributors list.\n\n---\nCopyright (c) 2017 John Nolette Licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneetjn%2Fpy-selenium-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneetjn%2Fpy-selenium-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneetjn%2Fpy-selenium-browser/lists"}