Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

325 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deciBel Testing

End-to-end and performance test automation for the deciBel platform.

Repository structure

  • web-e2e/ — Web E2E tests using pytest + Playwright
  • mobile-e2e/ — Mobile E2E tests using pytest + Appium
  • stress-testing/ — API load/stress tests using Locust
  • shared/ — Shared test data, media assets, and utilities
  • docs/ — Project documentation (including coding style guidance)

Design choices

  • Page Object Model (POM): Web tests are organized around page classes in web-e2e/pages/, and mobile tests use screen classes in mobile-e2e/screens/. This keeps UI interaction logic reusable and separate from test assertions.
  • Fixture-driven setup: Shared setup and lifecycle flows are centralized in web-e2e/conftest.py and mobile-e2e/conftest.py using pytest fixtures. This reduces duplication and keeps tests focused on behavior.
  • Modular suite boundaries: The repo is split by testing purpose (web-e2e, mobile-e2e, stress-testing) with each suite owning its own dependencies and config, while shared/ holds reusable data/assets used across suites.

Prerequisites

  • Python 3.10+
  • pip
  • Access to deciBel test environments and test accounts

Additional tooling by suite:

  • Web E2E: Playwright browser dependencies
  • Mobile E2E: Running Appium server + Android emulator/device
  • Stress testing: Locust-compatible API target

Environment setup

Create local .env files from examples:

  • web-e2e/.env.example
  • mobile-e2e/.env.example
  • shared/.env.example

Populate credentials and environment-specific values before running tests.

Install dependencies

Install suite-specific dependencies from each folder:

cd web-e2e
python -m pip install -r requirements.txt
python -m playwright install

cd ../mobile-e2e
python -m pip install -r requirements.txt

cd ../stress-testing
python -m pip install -r requirements.txt

Run test suites

Web E2E (Playwright)

cd web-e2e
python -m pytest tests

Mobile E2E (Appium)

cd mobile-e2e
python -m pytest tests

Stress Testing (Locust)

cd stress-testing
locust --config locust.conf

Notes

  • Default stress target host is configured in stress-testing/locust.conf.
  • This repo follows conventions documented in docs/CODE_STYLE_GUIDE.md.

About

Automated E2E and stress testing for deciBel

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages