Troubleshooting & FAQ#
This page covers common issues encountered while setting up or running tests within the ArgoBEAST framework.
Browser & Environment Issues#
Firefox on Ubuntu 24.04+ (Snap Sandboxing)#
Symptom:
Tests fail to launch Firefox with errors such as Binary is not a Firefox executable, Profile not found, or WebDriverException: Service geckodriver unexpectedly exited.
Cause:
Ubuntu 24.04 installs Firefox as a Snap package by default. Snap’s strict security confinement prevents GeckoDriver from accessing the necessary system directories (like /tmp) to initialise a testing profile.
Resolution: To bypass the sandbox without uninstalling your system browser, instruct Selenium Manager to provision a standalone, non-sandboxed version of Firefox for automation.
Add this environment variable to your shell (e.g., ~/.bashrc) or your CI/CD environment:
# Forces Selenium to download a managed browser binary to ~/.cache/selenium
export SE_FORCE_BROWSER_DOWNLOAD=true
Distribution Compatibility (Mint, Debian, Arch)#
On distributions where Firefox is installed via native package managers (like apt on Mint or pacman on Arch) rather than Snap, ArgoBEAST typically works without extra configuration.
However, using SE_FORCE_BROWSER_DOWNLOAD=true is recommended for teams to ensure all contributors are running the exact same browser version regardless of their OS.
WebDriver Management#
Automatic Driver Provisioning#
ArgoBEAST relies on Selenium Manager (built into Selenium 4.11+) to handle driver binaries. You generally do not need to manualy download chromedriver or geckodriver.
If drivers fail to download:
* Proxy Settings: If you are behind a corporate firewall, ensure HTTP_PROXY and HTTPS_PROXY are set in your environment so the manager can reach the binary repositories.
* Permissions: Ensure the user running the tests has write access to the ~/.cache/selenium directory.
Reporting & Execution#
Reports Not Generating#
ArgoBEAST uses Allure for test reporting. The logic for report generation is managed internally by the framework’s core hooks. If your reports are not generating after a run, it is almost certainly due to missing dependencies.
Resolution: 1. Check Allure Installation: Ensure you have the Allure command-line tool installed on your system path.
On Ubuntu/Mint:
sudo apt install allure(or via npm/homebrew).Verify with:
allure --version.
Python Dependency: Ensure the
allure-behaveformatter is installed in your Python environment:pip install allure-behave Or if using **uv** for dependency management:
uv add allure-behave
Execution Command: Ensure you are running your tests with the correct formatter flag to output the results to the results directory:
behave -f allure_behave.formatter:AllureFormatter -o %allure_result_folder%
Note: If you are using the ArgoBEAST CLI to initiate runs, these flags are typically handled for you, provided Allure is present on the system.
Standardising Team Environments#
To prevent “it works on my machine” issues across different Linux distributions, it is best practice to standardise the browser source. You can create a simple setup script for contributors:
#!/bin/bash
# Standardise ArgoBEAST environment
export SE_FORCE_BROWSER_DOWNLOAD=true
echo "Environment configured for ArgoBEAST."