Metadata-Version: 2.4
Name: jc-selenium-helper
Version: 0.3.0
Summary: Selenium WebDriver helper utilities for writing browser tests
Author-email: Alexander Jacob <alexander.jacob@jacob-consulting.de>
License: MIT
Project-URL: Homepage, https://github.com/jacob-consulting/jc-selenium-helper
Project-URL: Documentation, https://jc-selenium-helper.readthedocs.io
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Framework :: Pytest
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: selenium>=4.38.0
Provides-Extra: pytest
Requires-Dist: pytest>=8; extra == "pytest"
Requires-Dist: pytest-selenium>=4.1.0; extra == "pytest"
Provides-Extra: config
Requires-Dist: dynaconf>=3.2; extra == "config"
Provides-Extra: axe
Requires-Dist: axe-selenium-python>=2.1.6; extra == "axe"
Provides-Extra: all
Requires-Dist: jc-selenium-helper[axe,config,pytest]; extra == "all"
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: bump-my-version; extra == "dev"
Requires-Dist: mkdocs>=1.6.1; extra == "dev"
Requires-Dist: mkdocs-awesome-pages-plugin>=2.10.1; extra == "dev"
Provides-Extra: test
Requires-Dist: jc-selenium-helper[axe,config,pytest]; extra == "test"
Requires-Dist: nox; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Dynamic: license-file

# jc-selenium-helper

Selenium WebDriver helper utilities for writing browser tests.

`Browser` wraps a Selenium `WebDriver` with concise, XPath-by-default finders,
waits, actions, assertions, and frame handling. Optional extras add a ready-made
pytest fixture, a Dynaconf settings loader, and axe-core accessibility checks.

## Install

```bash
pip install jc-selenium-helper            # core (selenium only)
pip install "jc-selenium-helper[pytest]"  # + pytest fixtures
pip install "jc-selenium-helper[config]"  # + Dynaconf settings loader
pip install "jc-selenium-helper[axe]"     # + accessibility checks
pip install "jc-selenium-helper[all]"     # everything
```

## Quickstart

```python
from selenium import webdriver
from jc_selenium_helper import Browser

driver = webdriver.Chrome()
browser = Browser(driver, default_timeout=30)

browser.open("https://example.com")
browser.wait_and_click("//a[@id='more']")  # XPath by default
```

## Links

- Full documentation: https://jc-selenium-helper.readthedocs.io
- PyPI: https://pypi.org/project/jc-selenium-helper/
- Source: https://github.com/jacob-consulting/jc-selenium-helper

## License

MIT — see [LICENSE](LICENSE).
