{"id":24444082,"url":"https://github.com/joydeep100/pytest_selenium","last_synced_at":"2026-02-11T02:48:03.171Z","repository":{"id":246232401,"uuid":"818928069","full_name":"joydeep100/PyTest_Selenium","owner":"joydeep100","description":"An UI Framework with Python / Selenium \u0026 Pytest.","archived":false,"fork":false,"pushed_at":"2025-01-06T10:52:13.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-20T06:04:53.400Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/joydeep100.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":"2024-06-23T09:26:26.000Z","updated_at":"2025-01-07T03:03:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"99a865cd-b67c-4ae3-b4ee-c7d316b12256","html_url":"https://github.com/joydeep100/PyTest_Selenium","commit_stats":null,"previous_names":["joydeep100/pyselaut","joydeep100/pytestnebulaknight","joydeep100/pytest_selenium"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joydeep100/PyTest_Selenium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joydeep100%2FPyTest_Selenium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joydeep100%2FPyTest_Selenium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joydeep100%2FPyTest_Selenium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joydeep100%2FPyTest_Selenium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joydeep100","download_url":"https://codeload.github.com/joydeep100/PyTest_Selenium/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joydeep100%2FPyTest_Selenium/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260891143,"owners_count":23077909,"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":[],"created_at":"2025-01-20T22:38:39.946Z","updated_at":"2026-02-11T02:48:03.142Z","avatar_url":"https://github.com/joydeep100.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyTest_Selenium\r\n\r\n## Python Selenium Automation Framework!\r\n\r\n### Features\r\n- Page Object Model (check pages directory)\r\n\r\n- Centralized locator repo (locators/locators.py)\r\n\r\n- Passing env variables from command line (like browser=chrome, env=QA etc)\r\n\r\n- Headless \u0026 headed execution (--headless=true|false)\r\n\r\n- Passing test data file (--testdata=testdata/example_test_data.json)\r\n\r\n- Cypress inspired simplified selenium api's such as visit(), type(), click() etc.\r\n\r\n- Used reabable assertions like `assert_that(123).is_greater_than(100)` [documentation](https://github.com/assertpy/assertpy)\r\n\r\n### Pre-requisite\r\n- Python3\r\n\r\n### Installation \r\n`pip install -r requirements.txt`\r\n\r\n### How to run\r\n\r\n- Example API Test cases\r\n```\r\npytest -vsrP --env=QA --testdata=testdata/example_test_data.json tests/example_tests/example_rest_api_tests.py\r\n```\r\n- Example Web UI test cases\r\n```\r\npytest -vsrP --browser=firefox --headless=false --env=QA --login=standard_user --secret=secret_sauce --testdata=testdata/example_test_data.json tests/example_tests/example_tests.py\r\n```\r\n\r\n### Test tags\r\n\r\n- To skip a test, use this decorator `@pytest.mark.skip(reason=\"\u003creason\u003e\")`\r\n\r\n- To run specific tags, use `-m \"\u003ctag_name\u003e\"` or `-m \"not \u003ctag_name\u003e` etc.\r\nEx. `pytest -m smoke -vsrP --env=QA --testdata=testdata/example_test_data.json tests/example_tests/example_rest_api_tests.py`\r\n\r\n### Allure Report integration (optional)\r\n\r\n#### Pre-condition\r\n\r\n1. Node.js should be installed\r\n2. Java version 8 (jre is sufficient) and above should be installed \u0026 JAVA_HOME path should be set\r\n\r\nrefer https://allurereport.org/docs/install-for-nodejs/\r\n\r\nNow install allure-commandline tools\r\n\r\n`npx install allure-commandline`\r\n\r\n- To generate allure reports along with pytest run tests like below, some additional file would be now generated in allure-report directory\r\n\r\n```\r\npytest -srP --browser=chrome --headless=true --env=QA --login=standard_user --secret=secret_sauce --testdata=testdata/example_test_data.json tests/example_tests/example_tests.py --alluredir=allure-report\r\n```\r\n- Run this command to convert allure-report into a htm file, this will generate 'html-report/index.html'\r\n\r\n`npx allure generate --clean --single-file allure-report/ -o html-report`\r\n\r\n- Run this command to view reports in browser\r\n\r\n`npx allure serve allure-report/`\r\n\r\n### Issues\r\n- Chrome headed mode seems to be crashing in windows machine when auto webdriver download is set (this is default). setting headless mode as always on for chrome for the time being. \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoydeep100%2Fpytest_selenium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoydeep100%2Fpytest_selenium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoydeep100%2Fpytest_selenium/lists"}