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.2.6.tar.gz (32.2 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.2.6-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: argobeast-2.2.6.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.2.6.tar.gz
Algorithm Hash digest
SHA256 395fa61141efec32744ab757176c163f534ccc903da3be9faef8800d862c6627
MD5 46b17d61686f40fb30b75eb5cc1519e1
BLAKE2b-256 f6b4e298f3ebd554ac1fb04cfc7ae82309eca145d86a91dc7e7c4bb255479738

See more details on using hashes here.

File details

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

File metadata

  • Download URL: argobeast-2.2.6-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e56b9954ce8ac4259f213b304366a54beb399c21752ecce5a09557bc8d26c170
MD5 11c4fe84d13d55b9cc753f664bccfa8e
BLAKE2b-256 e80d5e6269e341059206b76b2be5c7699d0baf142ed5f72c0b935a0437cc35be

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