Skip to main content

One platform for everything

Project description

OmniTest

OmniTest

One Platform for Everything.

Enterprise-grade Python Automation Framework built on top of Playwright.


๐Ÿš€ Vision

OmniTest is an open-source, production-ready automation platform that unifies every testing discipline into a single Python SDK.

Instead of learning and maintaining multiple tools for UI testing, API testing, performance testing, security testing, and reliability testing, OmniTest provides one consistent API for all automation needs.

Goals

  • โœ… Simple for beginners
  • โœ… Enterprise ready
  • โœ… Production grade architecture
  • โœ… Extensible SDK
  • โœ… Plugin based
  • โœ… AI Ready
  • โœ… Cross Platform
  • โœ… Open Source

Features

UI Automation

  • Chromium
  • Firefox
  • WebKit
  • Smart Locators
  • Multi Browser Support
  • Multi Tab Support
  • Screenshot
  • Video Recording
  • Tracing
  • Downloads
  • Uploads
  • Keyboard
  • Mouse
  • Drag & Drop
  • Wait Engine
  • Assertions
  • Self Healing Locators (Planned)

API Testing

  • REST
  • GraphQL
  • SOAP
  • WebSocket
  • gRPC
  • Authentication
  • Contract Testing
  • Mock Server

Performance Testing

  • Load Testing
  • Stress Testing
  • Spike Testing
  • Endurance Testing
  • Capacity Testing

Security Testing

  • OWASP Checks
  • SSL Validation
  • Header Validation
  • Authentication Testing
  • Authorization Testing

Reliability Testing

  • Chaos Testing
  • Retry Validation
  • Failover Testing
  • Resilience Testing

Installation

pip install omnitest

Quick Start

from omnitest import Browser

browser = Browser(
    headless=False
)

browser.open("https://example.com")

browser.type("#username", "admin")

browser.type("#password", "password")

browser.click("Login")

browser.close()

Project Structure

src/
โ””โ”€โ”€ omnitest
    โ”œโ”€โ”€ actions/
    โ”œโ”€โ”€ api/
    โ”œโ”€โ”€ assertions/
    โ”œโ”€โ”€ browser/
    โ”œโ”€โ”€ config/
    โ”œโ”€โ”€ exceptions/
    โ”œโ”€โ”€ locator/
    โ”œโ”€โ”€ logger/
    โ”œโ”€โ”€ performance/
    โ”œโ”€โ”€ reliability/
    โ”œโ”€โ”€ security/
    โ”œโ”€โ”€ utils/
    โ””โ”€โ”€ wait/

Development Roadmap

Phase 1 โ€” Browser SDK (v0.1.x)

Browser

  • Browser Launch
  • Browser Configuration
  • Browser Context
  • Page Management
  • Multiple Tabs
  • Browser Lifecycle

Locator Engine

  • CSS
  • XPath
  • Text
  • Role
  • Label
  • Placeholder
  • Alt
  • Title
  • TestId
  • Dictionary Selectors
  • Smart Selector Detection

Actions

  • Click
  • Fill
  • Hover
  • Keyboard
  • Mouse
  • Select
  • Upload
  • Drag & Drop

Navigation

  • Open URL
  • Back
  • Forward
  • Refresh

Downloads

  • File Download
  • File Upload

Logging

  • Console Logger
  • File Logger

Exceptions

  • Browser Exceptions
  • Locator Exceptions
  • Action Exceptions

Phase 2 โ€” Smart Automation (v0.2.x)

  • Wait Engine
  • Assertions
  • Screenshots
  • Video Recording
  • Tracing
  • Browser Events
  • Network Monitoring
  • Cookie Management
  • Local Storage
  • Session Storage
  • Authentication State
  • Self Healing Locators

Phase 3 โ€” API Testing (v0.3.x)

  • REST API
  • GraphQL
  • SOAP
  • gRPC
  • WebSocket
  • API Assertions
  • Authentication
  • OAuth
  • JWT
  • API Reporting

Phase 4 โ€” Reporting (v0.4.x)

  • HTML Report
  • JSON Report
  • XML Report
  • Screenshots
  • Videos
  • Trace Viewer
  • Timeline
  • Logs
  • Attachments

Phase 5 โ€” Performance Testing (v0.5.x)

  • Load Testing
  • Stress Testing
  • Spike Testing
  • Endurance Testing
  • Distributed Execution
  • Performance Report

Phase 6 โ€” Security Testing (v0.6.x)

  • SSL Validation
  • Header Validation
  • Authentication Testing
  • Authorization Testing
  • OWASP Checks
  • Security Report

Phase 7 โ€” Reliability Testing (v0.7.x)

  • Chaos Testing
  • Retry Validation
  • Failover Testing
  • Resilience Testing
  • Health Checks

Phase 8 โ€” AI Automation (v1.0.0)

  • AI Test Generation
  • Natural Language Automation
  • AI Locator Generation
  • Self Healing
  • AI Assertions
  • AI Debugging
  • AI Failure Analysis
  • AI Test Maintenance
  • AI Report Insights

Release Plan

Version Status Description
v0.1 ๐Ÿšง In Progress Browser SDK
v0.2 Planned Smart Automation
v0.3 Planned API Testing
v0.4 Planned Reporting
v0.5 Planned Performance Testing
v0.6 Planned Security Testing
v0.7 Planned Reliability Testing
v1.0 Planned AI Powered Testing Platform

GitHub Labels

Priority

  • priority:critical
  • priority:high
  • priority:medium
  • priority:low

Type

  • bug
  • feature
  • enhancement
  • documentation
  • question
  • refactor
  • performance
  • security
  • test

Component

  • browser
  • locator
  • actions
  • wait
  • assertions
  • api
  • performance
  • security
  • reliability
  • reporting
  • logger
  • exceptions
  • configuration
  • cli

Status

  • ready
  • in-progress
  • blocked
  • needs-review
  • ready-for-release
  • released

Difficulty

  • good first issue
  • beginner
  • intermediate
  • advanced

Release

  • v0.1
  • v0.2
  • v0.3
  • v0.4
  • v0.5
  • v0.6
  • v0.7
  • v1.0

Contributing

Contributions are welcome.

Please feel free to:

  • Report bugs
  • Suggest features
  • Improve documentation
  • Submit pull requests

License

This project is licensed under the MIT License.


Motto

One Platform for Everything.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnitest-0.1.1.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omnitest-0.1.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file omnitest-0.1.1.tar.gz.

File metadata

  • Download URL: omnitest-0.1.1.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for omnitest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e230a25db794a5e16efd18291da3de45fc52c619a0fc6ac7646934aea6313b16
MD5 0e594836cfb56397e7b576e2e8286ee4
BLAKE2b-256 1d78d0f50f1447d6473f8aa0a52cb88cc433d23f73419ddd6515c2b5218d5f6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnitest-0.1.1.tar.gz:

Publisher: workflow.yaml on Manikandan-Parasuraman/OmniTest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file omnitest-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: omnitest-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for omnitest-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 617cfece58c82b186e0916dc8756b6efe09cfc9b293fbe0c66ebd4ae6d4aee2e
MD5 c3517db329544381af31876ec9e238fd
BLAKE2b-256 eafe98c6d4b7b121d0fec2dc20a64e56bead09373359593e950d07c023b87dc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnitest-0.1.1-py3-none-any.whl:

Publisher: workflow.yaml on Manikandan-Parasuraman/OmniTest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page