Configuration Guide#
ArgoBEAST is controlled via the user configuration file, typically named driver.yml.
While the framework comes with internal defaults, driver.yml is where you define your specific project settings, such as browser choice, timeouts, and reporting preferences.
Configuration File Location#
By default, ArgoBEAST looks for your configuration file at:
config/driver.yml
Custom Config Paths (CI/CD)#
If you need to store your configuration elsewhere (or if you want to swap configurations dynamically in a CI pipeline), you can override the default path using the TEST_CONFIG environment variable.
Example (Linux/Mac):
export TEST_CONFIG="my_custom_configs/staging_config.yml"
behave
Example (Windows PowerShell):
$env:TEST_CONFIG="my_custom_configs/staging_config.yml"
behave
Webdriver Configuration#
These settings control the instantiation of the browser session.
Key |
Description |
Options / Notes |
|---|---|---|
browser |
The browser to run tests on. |
|
driver_path |
The path to your WebDriver executable (e.g., chromedriver.exe). |
Required if not using Selenium Manager. Can be left empty if using Selenium Manager or if the driver is in your system PATH. |
headless |
Runs the browser without a visible UI. Recommended for CI/Docker. |
|
window_size |
Sets the initial viewport dimensions. |
Format: |
remote_url |
The URL for a Selenium Grid or Docker container. |
Leave empty |
Advanced: Browser Arguments (browser_args)#
ArgoBEAST allows you to pass custom flags directly to the browser options at startup. This provides flexibility for specific testing needs (e.g., testing incognito mode, handling SSL errors, or performance profiling).
Warning
ArgoBEAST does not validate these flags.
We simply pass them to the underlying driver. It is your responsibility to ensure the flags you provide are compatible with the browser you selected.
How to use#
Uncomment the browser_args section in your driver.yml file and add your flags as a list.
Example: Chrome / Edge
browser: chrome
browser_args:
- "--incognito"
- "--disable-gpu"
- "--ignore-certificate-errors"
Example: Firefox
browser: firefox
browser_args:
- "--private"
- "--allow-downgrade"
Note: If you provide a Chrome-specific flag (like ``–disable-extensions``) while running Firefox, the driver may ignore it or fail to start. Check the official driver documentation for valid arguments.
Timeouts & Stability#
Key |
Description |
Recommended |
|---|---|---|
implicit_wait |
Global fallback wait time (in seconds) for finding elements. |
|
explicit_wait |
The standard timeout used by |
|
page_load_timeout |
Maximum time to wait for a page to fully render before throwing an error. |
``30``+ (Increase for heavy apps) |
Application Settings#
base_url: The entry point for your tests (e.g.,
http://localhost:8501).default_route: The default path appended to the base URL during the initial navigation step (usually
/).
Framework Behaviour#
screenshot_on_failure: If
true, a screenshot will be captured automatically when a step fails.output_directory: The folder where failed screenshots and other artifacts are saved.
retry_failed_scenarios: (Experimental) If
true, the framework attempts to re-run fragile scenarios. Default isfalse.- max_retries:
(Experimental) The maximum number of retry attempts for failed scenarios when
retry_failed_scenariosis enabled. Default is2.
ArgoBEAST has built-in integration for Allure, provided you have the allure command-line tool installed on your machine.
allure_reporting: Main switch. Set to
trueto generate JSON results inallure-results.hide_skipped_tests: If
true, scenarios marked with@skipare excluded from the final report entirely.auto_generate_report: If
true, ArgoBEAST will attempt to runallure generateat the end of the test run and bundle the HTML into a ZIP file.Note
The
allurebinary must be in your system PATH for this to work.allure_keep_history: If
true, copies history from previous runs to show trend graphs.
Logging#
log_level: Controls the verbosity of the console output.
INFO: Standard execution logs.DEBUG: Detailed logs for framework development/debugging.ERROR: Only show critical failures.