# 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-common)
[](https://pypi.python.org/pypi/cloudbeat-common)
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-common",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "cloudbeat testing reporting python",
"author": "CBNR Cloud Solutions LTD",
"author_email": "info@cloudbeat.io",
"download_url": "https://files.pythonhosted.org/packages/4f/cb/9a2f5dcdaac764d310ddc54f1077b62cf83d0edd04a0ee46a2953823d1d1/cloudbeat_common-1.0.3.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-common)\r\n[](https://pypi.python.org/pypi/cloudbeat-common)\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",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Contains the common types and API client for CloudBeat",
"version": "1.0.3",
"project_urls": {
"Homepage": "https://cloudbeat.io/",
"Source": "https://github.com/cloudbeat-io/cb-kit-python"
},
"split_keywords": [
"cloudbeat",
"testing",
"reporting",
"python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "46d1f2b6d76eab8a20fee3871e582086f22207b1e82ca5d49b21e39e08f5de7b",
"md5": "b7f7fd25945b365147cd1e443fea62dc",
"sha256": "846cb88f2a00094e143bca9cc5bee0b0f4607936b94ffa45051846a8e0367da4"
},
"downloads": -1,
"filename": "cloudbeat_common-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b7f7fd25945b365147cd1e443fea62dc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 6863,
"upload_time": "2025-08-21T14:26:39",
"upload_time_iso_8601": "2025-08-21T14:26:39.624012Z",
"url": "https://files.pythonhosted.org/packages/46/d1/f2b6d76eab8a20fee3871e582086f22207b1e82ca5d49b21e39e08f5de7b/cloudbeat_common-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4fcb9a2f5dcdaac764d310ddc54f1077b62cf83d0edd04a0ee46a2953823d1d1",
"md5": "3937aae3cd295ec0c3832af4a70be845",
"sha256": "2c8c4f9ab60f738545d1ea3ad12395ff7454bd94b5d748983091b0e2cd67eeed"
},
"downloads": -1,
"filename": "cloudbeat_common-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "3937aae3cd295ec0c3832af4a70be845",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 6481,
"upload_time": "2025-08-21T14:26:40",
"upload_time_iso_8601": "2025-08-21T14:26:40.548942Z",
"url": "https://files.pythonhosted.org/packages/4f/cb/9a2f5dcdaac764d310ddc54f1077b62cf83d0edd04a0ee46a2953823d1d1/cloudbeat_common-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-21 14:26:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cloudbeat-io",
"github_project": "cb-kit-python",
"github_not_found": true,
"lcname": "cloudbeat-common"
}