A python package for automation developers working with Selenium and Appium
Project description
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
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 smart_automation_utils-0.2.0.tar.gz.
File metadata
- Download URL: smart_automation_utils-0.2.0.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5463c8202b3e1dac7793bf14d6f76c16dacc96df6da53edd1cc136d554d04bc
|
|
| MD5 |
123c765fa92d42d09c8df251fd33f6b7
|
|
| BLAKE2b-256 |
25e58f951bd44762082796d62be0b8055682b8b3b71547ac87ae4ca68f954720
|
File details
Details for the file smart_automation_utils-0.2.0-py3-none-any.whl.
File metadata
- Download URL: smart_automation_utils-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee82ecb636797cbee49742e8d23d19395ea0f8c8de5d2154c9a53f5df68f36c
|
|
| MD5 |
45f4d55f51476460ea5e48e8a31a61e0
|
|
| BLAKE2b-256 |
8ca4332057de4d46943a4ea4d30978f9d1b1a434d4c5c273a1b7091cab538960
|