skillfed

marionette-harness

Marionette test automation harness

marionette-harness v5.0.0 118.4K downloads/30d#12,122 on PyPI
Copyleft license Mozilla Public License 2.0 (MPL 2.0) Abandoned released

What it is and what it does

Marionette-harness is a test automation framework for Gecko-based browsers, primarily Firefox. It provides a Python test runner and unittest-based testcase classes that let you write automated tests controlling the browser's UI, chrome, content, and DOM. The package wraps the Marionette protocol, which allows remote control of Firefox for both user-action replication and property inspection.

The tool is invoked from the command line with a manifest file, test file, or test folder, and runs tests against a specified Firefox binary. It is part of Mozilla's QA infrastructure and was designed for testing Gecko applications at scale. However, the package has been abandoned since October 2019 with no updates for over 2500 days, making it a legacy tool that may not work reliably with modern Firefox or Python versions.

Use it for:

  • Automated testing of Firefox UI and browser chrome behavior in CI/CD pipelines.
  • Regression testing of Gecko-based applications by simulating user interactions and verifying DOM state.
  • Integration testing of web content within Firefox, including JavaScript execution and property inspection.
  • Legacy test suite maintenance for projects that already depend on Marionette test infrastructure.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Marionette-harness is a test runner for automating Gecko-based applications like Firefox, allowing you to write and execute Python-based tests that control the browser UI, JavaScript, and DOM.

No. The package is abandoned (last release October 2019, no updates in 2500+ days) and relies on 15 Mozilla-ecosystem dependencies that are likely also unmaintained. Modern Firefox automation should use Selenium, Playwright, or Puppeteer instead. Install only if maintaining an existing legacy test suite with no alternative path.

Install

marionette-harness on PyPI

pip

pip install marionette-harness

uv

uv add marionette-harness

poetry

poetry add marionette-harness

Installing marionette-harness

Before you install

Low install friction with a pure-Python wheel, but the package is abandoned as of 2019 with no updates in over 2500 days. Relies on 15 Mozilla-ecosystem dependencies, most of which may also be unmaintained.

License in practice

Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license requiring derivative works to disclose source and maintain the same license. Review your project's licensing compatibility before use.

Quickstart

pip install marionette-harness

marionette --binary /path/to/firefox test_file.py

Requires a local Firefox binary and the Marionette protocol to be enabled; depends on Mozilla's ecosystem of moz* packages which may have compatibility issues with modern Firefox versions.

Verify before relying

  • Whether this package works with current Firefox versions, given its 2019 abandonment date.
  • Current compatibility of the 15 moz* dependencies with modern Python and OS versions.
  • Whether the unittest-based test classes remain functional with modern Python test frameworks.

Package facts

License Mozilla Public License 2.0 (MPL 2.0) (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 15 — browsermob-proxy, manifestparser, marionette-driver, mozcrash, mozdevice, mozinfo, mozlog, moznetwork, mozprocess, mozprofile, mozrunner, moztest, mozversion, six, wptserve
Maintenance abandoned — 2,500 days since the last release
First released
Downloads 118,361/month — #12,122 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: marionette_harness-5.0.0-py3-none-any.whl

Keywords: mozilla

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 2.7Topic :: Software Development :: Quality AssuranceTopic :: Software Development :: TestingTopic :: Utilities

Tags

firefox automation testinggecko browser test runnermarionette test harnesspython browser automationfirefox ui testing frameworkgecko application testingautomated browser control
firefox-automationabandoned-packagelegacy-testing

More Utilities packages