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:criticalpriority:highpriority:mediumpriority:low
Type
bugfeatureenhancementdocumentationquestionrefactorperformancesecuritytest
Component
browserlocatoractionswaitassertionsapiperformancesecurityreliabilityreportingloggerexceptionsconfigurationcli
Status
readyin-progressblockedneeds-reviewready-for-releasereleased
Difficulty
good first issuebeginnerintermediateadvanced
Release
v0.1v0.2v0.3v0.4v0.5v0.6v0.7v1.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e230a25db794a5e16efd18291da3de45fc52c619a0fc6ac7646934aea6313b16
|
|
| MD5 |
0e594836cfb56397e7b576e2e8286ee4
|
|
| BLAKE2b-256 |
1d78d0f50f1447d6473f8aa0a52cb88cc433d23f73419ddd6515c2b5218d5f6d
|
Provenance
The following attestation bundles were made for omnitest-0.1.1.tar.gz:
Publisher:
workflow.yaml on Manikandan-Parasuraman/OmniTest
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
omnitest-0.1.1.tar.gz -
Subject digest:
e230a25db794a5e16efd18291da3de45fc52c619a0fc6ac7646934aea6313b16 - Sigstore transparency entry: 2171291555
- Sigstore integration time:
-
Permalink:
Manikandan-Parasuraman/OmniTest@2eaae439168616778a3b18ac2e98dec014f74cec -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Manikandan-Parasuraman
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yaml@2eaae439168616778a3b18ac2e98dec014f74cec -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
617cfece58c82b186e0916dc8756b6efe09cfc9b293fbe0c66ebd4ae6d4aee2e
|
|
| MD5 |
c3517db329544381af31876ec9e238fd
|
|
| BLAKE2b-256 |
eafe98c6d4b7b121d0fec2dc20a64e56bead09373359593e950d07c023b87dc2
|
Provenance
The following attestation bundles were made for omnitest-0.1.1-py3-none-any.whl:
Publisher:
workflow.yaml on Manikandan-Parasuraman/OmniTest
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
omnitest-0.1.1-py3-none-any.whl -
Subject digest:
617cfece58c82b186e0916dc8756b6efe09cfc9b293fbe0c66ebd4ae6d4aee2e - Sigstore transparency entry: 2171291579
- Sigstore integration time:
-
Permalink:
Manikandan-Parasuraman/OmniTest@2eaae439168616778a3b18ac2e98dec014f74cec -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Manikandan-Parasuraman
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yaml@2eaae439168616778a3b18ac2e98dec014f74cec -
Trigger Event:
push
-
Statement type: