# CloudBeat Python Integrations
[<img src="https://cdn.prod.website-files.com/5e5fd6a35f35b720bfd3198a/5e9c149f9ba5991a3901422b_cloudbeat_logo_png.webp" height="85px" alt="CloudBeat logo"/>](https://cloudbeat.io/ "CloudBeat")
[](https://pypi.python.org/pypi/cloudbeat-selenium)
[](https://pypi.python.org/pypi/cloudbeat-selenium)
Learn more about CloudBeat at [https://cloudbeat.io/](https://cloudbeat.io/)
~ ๐งพ [Documentation](https://docs.cloudbeat.io/python-pytest) โ official documentation for CloudBeat <br>
~ ๐๐ป [Contact and Support](https://www.cloudbeat.io/contact) โ contact us and we'd love to help <br>
~ ๐ฃ [Blog](https://www.cloudbeat.io/blog) โ stay updated with our latest news <br>
~ ๐ป [Demo](https://calendly.com/ndimer/cloudbeat-demo) โ request a demo <br>
---------
# Quick start
### Make sure your requirements.txt includes:
```sh
cloudbeat-pytest
cloudbeat-selenium
```
## Standard Installation
```sh
cd pytest-selenium
python -m venv env
env\Scripts\activate
pip install -r requirements.txt
```
## Installation using UV
```sh
uv venv
uv pip install -r requirements.txt
```
## Set up CloudBeat reporter in confitest.py
```python
import uuid
import pytest
from selenium import webdriver
from cloudbeat_common.models import CbConfig
from cloudbeat_common.reporter import CbTestReporter
from cloudbeat_selenium.wrapper import CbSeleniumWrapper
@pytest.fixture(scope="module")
def cb_config():
"""Prepare configuration class for further CB reporter initialization."""
config = CbConfig()
config.run_id = str(uuid.uuid4())
config.instance_id = str(uuid.uuid4())
config.project_id = str(uuid.uuid4())
config.capabilities = {"browserName": "chrome"}
return config
@pytest.fixture(scope="module")
def cb_reporter(cb_config):
reporter = CbTestReporter(cb_config)
return reporter
@pytest.fixture()
def setup(cb_reporter):
driver = webdriver.Chrome()
wrapper = CbSeleniumWrapper(cb_reporter)
wrapped_driver = wrapper.wrap(driver)
yield wrapped_driver
driver.quit()
```
### Set python src path if necessary
```sh
set PYTHONPATH=src
```
## Run your tests
### Standard
```sh
cd pytest-selenium
env\Scripts\activate
```
### All tests
```sh
pytest
```
### Parallel tests
```sh
pytest -n 4
```
### Single test
```sh
pytest -v -s Tests/test_login.py
```
### Using UV
```sh
uv run pytest # run all tests
uv run pytest -n 4 # run parallel tests
uv run pytest -v -s Tests/test_login.py # run a single test
```
Raw data
{
"_id": null,
"home_page": "https://cloudbeat.io/",
"name": "cloudbeat-selenium",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "cloudbeat testing reporting python selenium",
"author": "CBNR Cloud Solutions LTD",
"author_email": "info@cloudbeat.io",
"download_url": "https://files.pythonhosted.org/packages/37/55/bc8417857e734202d8b5ccf54a64e4d523423cd00200c4ef9f4203761224/cloudbeat_selenium-1.0.2.tar.gz",
"platform": null,
"description": "# CloudBeat Python Integrations\r\n\r\n[<img src=\"https://cdn.prod.website-files.com/5e5fd6a35f35b720bfd3198a/5e9c149f9ba5991a3901422b_cloudbeat_logo_png.webp\" height=\"85px\" alt=\"CloudBeat logo\"/>](https://cloudbeat.io/ \"CloudBeat\")\r\n\r\n[](https://pypi.python.org/pypi/cloudbeat-selenium)\r\n[](https://pypi.python.org/pypi/cloudbeat-selenium)\r\n\r\nLearn more about CloudBeat at [https://cloudbeat.io/](https://cloudbeat.io/)\r\n\r\n~ \ud83e\uddfe [Documentation](https://docs.cloudbeat.io/python-pytest) \u2013 official documentation for CloudBeat <br>\r\n~ \ud83d\ude4b\ud83c\udffb [Contact and Support](https://www.cloudbeat.io/contact) \u2013 contact us and we'd love to help <br>\r\n~ \ud83d\udce3 [Blog](https://www.cloudbeat.io/blog) \u2013 stay updated with our latest news <br>\r\n~ \ud83d\udcbb [Demo](https://calendly.com/ndimer/cloudbeat-demo) \u2013 request a demo <br>\r\n\r\n---------\r\n\r\n# Quick start\r\n\r\n### Make sure your requirements.txt includes:\r\n```sh\r\ncloudbeat-pytest\r\ncloudbeat-selenium\r\n```\r\n\r\n## Standard Installation\r\n```sh\r\ncd pytest-selenium\r\npython -m venv env\r\nenv\\Scripts\\activate\r\npip install -r requirements.txt\r\n```\r\n\r\n## Installation using UV\r\n```sh\r\nuv venv\r\nuv pip install -r requirements.txt\r\n```\r\n\r\n## Set up CloudBeat reporter in confitest.py\r\n```python\r\nimport uuid\r\nimport pytest\r\nfrom selenium import webdriver\r\nfrom cloudbeat_common.models import CbConfig\r\nfrom cloudbeat_common.reporter import CbTestReporter\r\nfrom cloudbeat_selenium.wrapper import CbSeleniumWrapper\r\n\r\n\r\n@pytest.fixture(scope=\"module\")\r\ndef cb_config():\r\n \"\"\"Prepare configuration class for further CB reporter initialization.\"\"\"\r\n config = CbConfig()\r\n config.run_id = str(uuid.uuid4())\r\n config.instance_id = str(uuid.uuid4())\r\n config.project_id = str(uuid.uuid4())\r\n config.capabilities = {\"browserName\": \"chrome\"}\r\n return config\r\n\r\n\r\n@pytest.fixture(scope=\"module\")\r\ndef cb_reporter(cb_config):\r\n reporter = CbTestReporter(cb_config)\r\n return reporter\r\n\r\n\r\n@pytest.fixture()\r\ndef setup(cb_reporter):\r\n driver = webdriver.Chrome()\r\n wrapper = CbSeleniumWrapper(cb_reporter)\r\n wrapped_driver = wrapper.wrap(driver)\r\n yield wrapped_driver\r\n driver.quit()\r\n\r\n```\r\n\r\n### Set python src path if necessary\r\n```sh\r\nset PYTHONPATH=src\r\n```\r\n\r\n## Run your tests\r\n\r\n### Standard\r\n```sh\r\ncd pytest-selenium\r\nenv\\Scripts\\activate\r\n```\r\n\r\n### All tests\r\n```sh\r\npytest \r\n```\r\n\r\n### Parallel tests\r\n```sh\r\npytest -n 4\r\n```\r\n\r\n### Single test\r\n```sh\r\npytest -v -s Tests/test_login.py \r\n```\r\n\r\n### Using UV\r\n```sh\r\nuv run pytest # run all tests\r\nuv run pytest -n 4 # run parallel tests\r\nuv run pytest -v -s Tests/test_login.py # run a single test\r\n```\r\n\r\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Selenium wrapper for CloudBeat Pytest Kit",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://cloudbeat.io/",
"Source": "https://github.com/cloudbeat-io/cb-kit-python"
},
"split_keywords": [
"cloudbeat",
"testing",
"reporting",
"python",
"selenium"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0185161e693da3ca601991a747a1bb5493904519e51bbf6a91ccd422a1e473b0",
"md5": "65602b5ce071760993390e32219f1d1b",
"sha256": "aeca6e78d4dddef44e2c3819751feaa5f39950673b42ae48eb369e7313178da2"
},
"downloads": -1,
"filename": "cloudbeat_selenium-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "65602b5ce071760993390e32219f1d1b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3763,
"upload_time": "2025-08-21T14:27:22",
"upload_time_iso_8601": "2025-08-21T14:27:22.749534Z",
"url": "https://files.pythonhosted.org/packages/01/85/161e693da3ca601991a747a1bb5493904519e51bbf6a91ccd422a1e473b0/cloudbeat_selenium-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3755bc8417857e734202d8b5ccf54a64e4d523423cd00200c4ef9f4203761224",
"md5": "bfc2ad2a98082cae0fab8de420c1655a",
"sha256": "64e288a12c6e6d44b176be52d932c79d5ea72bf710ad9d881e0d5a7345f9659e"
},
"downloads": -1,
"filename": "cloudbeat_selenium-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "bfc2ad2a98082cae0fab8de420c1655a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3620,
"upload_time": "2025-08-21T14:27:23",
"upload_time_iso_8601": "2025-08-21T14:27:23.680501Z",
"url": "https://files.pythonhosted.org/packages/37/55/bc8417857e734202d8b5ccf54a64e4d523423cd00200c4ef9f4203761224/cloudbeat_selenium-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-21 14:27:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cloudbeat-io",
"github_project": "cb-kit-python",
"github_not_found": true,
"lcname": "cloudbeat-selenium"
}