Smart Automation Utils v0.2.0
An Enterprise-grade Python framework for robust web and mobile automation. smart-automation-utils transforms standard Selenium/Appium into a stable, fluent, and highly observable automation engine.
🚀 Enterprise Features
- Fluent API: Chain actions for readable and concise test scripts.
- Flakiness Elimination: Built-in Waitless integration for intelligent UI stabilization.
- Page Object Model (POM): Built-in
BasePageandSmartDriverintegration for scalable architecture. - Zero-Config Drivers: Automated driver management via
webdriver-manager. - Glow Reporting: High-fidelity test diagnostics with
pytest-glow-report. - Hybrid Support: Seamlessly switch between Web (Selenium) and Mobile (Appium).
- Proactive Debugging: Automatic screenshots on failure + element highlighting.
- Performance Intelligence: Integrated memory and execution time monitoring.
📦 Installation
pip install smart-automation-utils
🛠 Usage
Fluent & Professional API
from smart_automation import SmartDriver
from selenium.webdriver.common.by import By
# Zero-config initialization
driver = SmartDriver(browser="chrome", headless=True)
driver.get("https://www.dhirajdas.dev") \
.click(By.XPATH, "//a[text()='Home']") \
.send_keys(By.NAME, "search", "Automation") \
.quit()
Page Object Model (POM)
from smart_automation import SmartDriver, BasePage
from selenium.webdriver.common.by import By
class LoginPage(BasePage):
def login(self, user, pwd):
return self.send_keys(By.ID, "user", user) \
.send_keys(By.ID, "pass", pwd) \
.click(By.ID, "login-btn")
driver = SmartDriver()
login_page = LoginPage(driver)
login_page.open().login("admin", "secret")
Performance & Data
from smart_automation import monitor, DataGenerator
monitor.start_timer("API_Sync")
email = DataGenerator.random_email()
# Perform actions...
monitor.stop_timer("API_Sync")
monitor.log_memory_usage()
📊 Reporting
We use pytest-glow-report for beautiful, data-rich execution summaries.
- Run Tests:
pytest
- View Report:
Open
reports/report.htmlin your browser for a full visual breakdown of passes, failures, and execution timings.
⚙️ Configuration
Configure via config.json or SMART_AUTO_ environment variables.
{
"browser": "chrome",
"timeout": 15,
"headless": true,
"proxy": "localhost:8080"
}
Maintained by Dhiraj Das
Metadata
Release files for smart-automation-utils 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| smart_automation_utils-0.2.0.tar.gz | 14.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smart_automation_utils-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.5 kB
Release files / smart_automation_utils-0.2.0.tar.gz
| Download URL | smart_automation_utils-0.2.0.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5463c8202b3e1dac7793bf14d6f76c16dacc96df6da53edd1cc136d554d04bc
|
|
BLAKE2b-256 checksum How to use checksums |
25e58f951bd44762082796d62be0b8055682b8b3b71547ac87ae4ca68f954720
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / smart_automation_utils-0.2.0-py3-none-any.whl
| Download URL | smart_automation_utils-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fee82ecb636797cbee49742e8d23d19395ea0f8c8de5d2154c9a53f5df68f36c
|
|
BLAKE2b-256 checksum How to use checksums |
8ca4332057de4d46943a4ea4d30978f9d1b1a434d4c5c273a1b7091cab538960
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for smart-automation-utils 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.