Skip to main content

A Python-based test automation framework for Behave with a clean Page Object architecture and CLI scaffolding.

Project description

ArgoBEAST Logo

ArgoBEAST 🚀

PyPI - Version PyPI - License Pylint Score

Stop Building Frameworks. Start Writing Tests.

ArgoBEAST is a structural engine for Selenium and Behave. It eliminates the "scramble" of test automation by providing a pre-structured, collaborative ecosystem that forces consistency across your entire team.

Scaffold a professional Page Object Model (POM) architecture in minutes.


Why ArgoBEAST?

Most automation projects fail because of inconsistent structure and complex driver logic. ArgoBEAST "crushes" that grunt work by providing the guardrails necessary for collaborative success.

  • ⚡ Zero-Config Scaffolding: Generate a full, professional POM stack—Pages, Actions, Steps, and Features—in seconds via the CLI.
  • 🤝 Enforced Collaboration: Every engineer follows the same pattern: Pages → Actions → Steps → Features. No more "lone wolf" code styles.
  • 🏗️ Architecture Built-In: Inherit from BasePage and CommonActions to get enterprise-grade form handling and element synchronization out of the box.
  • 📉 Regression Creep Killer: Standardized logic makes high-frequency smoke testing easy to implement, maintain, and scale.

Get Started

1. Install

pip install argobeast
# OR (Recommended)
uv add argobeast

2. Initialize Your Project

argobeast init

This scaffolds a complete, framework-agnostic environment. You can opt-in to generate example template files (based on a login scenario) to see the ArgoBEAST pattern in action.

3. Build Your First Test

Use the CLI to generate the blueprint for your specific application:

argobeast create page checkout
argobeast create actions checkout
argobeast create steps checkout

Simply add your locators to the Page and your business logic to the Actions—ArgoBEAST handles the driver injection and configuration merging behind the scenes.


The Workflow: Scalability by Design

ArgoBEAST enforces a clean separation of concerns, ensuring your tests remain readable and maintainable:

Component Responsibility Parent Class
Pages Store element locators and IDs BasePage
Actions High-level business logic & form filling CommonActions
Steps Thin Behave "glue" code N/A
Features Human-readable Gherkin scenarios N/A

The "No-Logic" Driver Engine

Stop wrestling with webdriver initializations and messy environment.py hooks. ArgoBEAST abstracts the heavy lifting into a simple configuration layer.

  • ⚙️ Logic-Free Configuration: Control browser types, headless modes, and timeouts via config/driver.yml. Change browsers or toggle headless mode without touching a single line of Python code.
  • 🪄 Zero-Bloat environment.py: Framework-level setup/teardown is handled by ArgoBEAST's engine, keeping your project files focused solely on your project logic.
  • 📸 Automatic Recovery: Built-in screenshot capture on every failure, handled internally by framework hooks.
  • 📑 Advanced Form Logic: Use built-in dictionary mapping to complete massive web forms in a single action call.

Experimental Feature: The ArgoBEAST Lab

The ArgoBEAST Lab is a containerised testing environment that includes a Selenium Grid and a dedicated ArgoBEAST Runner. It provides a consistent execution space for your tests, eliminating environment-related issues and allowing you to see your tests in action via a NoVNC connection.

Please report any issues or feedback to support@argodevops.atlassian.net


Roadmap

ArgoBEAST is built for the future of professional QA:

  • V2: No Browser Launch Option: Adding logic for running tests without launching a browser, ideal for API testing.
  • V2: Magic Hook Expansion: Enhancing the magic hook system to support arguments and more complex setup/teardown scenarios.
  • V3: Mobile Support: Expanding the DriverFactory to support native Appium integration.

Resources

ArgoBEAST: INSTANT VERIFICATION. STRUCTURED, SCALABLE TESTING.

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

argobeast-2.4.0.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

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

argobeast-2.4.0-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file argobeast-2.4.0.tar.gz.

File metadata

  • Download URL: argobeast-2.4.0.tar.gz
  • Upload date:
  • Size: 32.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for argobeast-2.4.0.tar.gz
Algorithm Hash digest
SHA256 b069f17497511a688571d1206e417c57a71b8a75cd9777e990ebfcc2424d81ee
MD5 b78d5e8f2a5911c27d126d63fc81cfd3
BLAKE2b-256 c0c5e652b5f5e046a00cf0c6a4880c49b0852d002c31898abe44dbc749b817c0

See more details on using hashes here.

File details

Details for the file argobeast-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: argobeast-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for argobeast-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d35caf12a66ae46f80b509b88e6f1ffa2574e5a9f874018aa58a5aba39cbb696
MD5 2b3d653974cfabec54fb7008e3828592
BLAKE2b-256 2540b35d41dea3a96813a214f396c17a68258ca42c4b7bf76ff65cd33989a519

See more details on using hashes here.

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