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.5.tar.gz (28.1 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.5-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: argobeast-2.2.5.tar.gz
  • Upload date:
  • Size: 28.1 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.5.tar.gz
Algorithm Hash digest
SHA256 4c83327921750db989870e07746fbcc953890e826d8f4e9a9c8cf47ffa43540a
MD5 08825757ef4691f10c9e3c208ad9d7fb
BLAKE2b-256 b18efd5aba95bc3aa82c51082ced60a73b98b6710138df09f7a436bf098c467d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: argobeast-2.2.5-py3-none-any.whl
  • Upload date:
  • Size: 30.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f6dbf7fef9af9cfcfb94f09bc52978897f2a940324707bca2e7c1056c1817308
MD5 5445e7568c89f8f7341872968ba0fecd
BLAKE2b-256 9204c64275ee7b1a6b5762cba19f2ef3401c353f2ccb3b4aa0ea9eb6827b1c7a

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