# Mozilla Automation

Published articles for Mozilla Automation.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Digging into regressions

DevFeed: [Digging into regressions](<https://devfeed.tech/articles/digging-into-regressions-20263.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2019/08/23/digging-into-regressions/>)

Author: elvis314

Published: 2019-08-23T20:53:47Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [data](<https://devfeed.tech/topics/data.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [monitor](<https://devfeed.tech/topics/monitor.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [data](<https://devfeed.tech/tags/data.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [platform](<https://devfeed.tech/tags/platform.md>), [regression](<https://devfeed.tech/tags/regression.md>), [testdev](<https://devfeed.tech/tags/testdev.md>), [tests](<https://devfeed.tech/tags/tests.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The article examines how Mozilla tracks regressions detected by builds and tests after patches land on autoland. It proposes distinguishing unique regressions and product fixes, while considering data accuracy, backouts, and the potential impact of changing or disabling test jobs.

### Source excerpt

Whenever a patch is landed on autoland, it will run many builds and tests to make sure there are no regressions. Unfortunately many times we find a regression and 99% of the time backout the changes so they can be ... Continue reading ->

## Recent fixes to reduce backlog on Android phones

DevFeed: [Recent fixes to reduce backlog on Android phones](<https://devfeed.tech/articles/recent-fixes-to-reduce-backlog-on-android-phones-20262.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2019/07/17/1872/>)

Author: elvis314

Published: 2019-07-17T19:54:00Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [docker](<https://devfeed.tech/tags/docker.md>), [linux](<https://devfeed.tech/tags/linux.md>), [phones](<https://devfeed.tech/tags/phones.md>), [testing](<https://devfeed.tech/tags/testing.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>), [update](<https://devfeed.tech/tags/update.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

This post describes fixes that reduced a backlog of Android phone jobs hosted at Bitbar, including recovering offline devices, restarting host machines, updating Taskcluster scripts, improving scheduling, disabling duplicate jobs, and removing old worker devices. It also outlines possible future improvements.

### Source excerpt

Last week it seemed that all our limited resource machines were perpetually backlogged. I wrote yesterday to provide insight into what we run and some of our limitations. This post will be discussing the Android phones backlog last week specifically. ... Continue reading ->

## backlogs, lag, and waiting

DevFeed: [backlogs, lag, and waiting](<https://devfeed.tech/articles/backlogs-lag-and-waiting-20261.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2019/07/16/backlogs-lag-and-waiting/>)

Author: elvis314

Published: 2019-07-16T20:21:55Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [FIRST](<https://devfeed.tech/topics/first.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Android](<https://devfeed.tech/topics/android.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [datacenter](<https://devfeed.tech/topics/datacenter.md>), [GPU](<https://devfeed.tech/topics/gpu.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [aws](<https://devfeed.tech/tags/aws.md>), [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [data](<https://devfeed.tech/tags/data.md>), [data-center](<https://devfeed.tech/tags/data-center.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [irc](<https://devfeed.tech/tags/irc.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [slack](<https://devfeed.tech/tags/slack.md>), [tests](<https://devfeed.tech/tags/tests.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains why Mozilla test jobs can experience backlogs and long wait times. It describes the platforms, configurations, infrastructure pools, and job volumes involved in running the tests, including Linux, Windows, macOS, Android, AWS, data-center machines, laptops, emulators, and real devices.

### Source excerpt

Many times each week I see a ping on IRC or Slack asking "why are my jobs not starting on my try push?" I want to talk about why we have backlogs and some things to consider in regards to ... Continue reading ->

## Looking at Firefox performance 57 vs 63

DevFeed: [Looking at Firefox performance 57 vs 63](<https://devfeed.tech/articles/looking-at-firefox-performance-57-vs-63-20260.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2018/09/12/looking-at-firefox-performance-57-vs-63/>)

Author: elvis314

Published: 2018-09-12T18:17:51Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [browser](<https://devfeed.tech/tags/browser.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [general](<https://devfeed.tech/tags/general.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [performance](<https://devfeed.tech/tags/performance.md>), [quantum](<https://devfeed.tech/tags/quantum.md>), [testdev](<https://devfeed.tech/tags/testdev.md>)

### AI overview

This article reviews Firefox performance measurements from version 57, also known as Firefox Quantum, through version 63. It examines Speedometer, startup time, and page-load tests, noting that a hardware upgrade affected some results and that the tests showed no regressions overall, with modest improvements in several areas.

### Source excerpt

Last November we released Firefox v.57, otherwise known as Firefox Quantum. Quantum was in many ways a whole new browser with the focus on speed as compared to previous versions of Firefox. As I write about many topics on my ... Continue reading ->

## Experiment: Adjusting SETA to run individual files instead of individual jobs

DevFeed: [Experiment: Adjusting SETA to run individual files instead of individual jobs](<https://devfeed.tech/articles/experiment-adjusting-seta-to-run-individual-files-instead-of-individual-jobs-20259.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2018/08/27/experiment-adjusting-seta-to-run-individual-files-instead-of-individual-jobs/>)

Author: elvis314

Published: 2018-08-27T18:17:18Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

The article reports an experiment to adjust SETA so it selects individual failing test files rather than entire test jobs. The experiment identified 171 tests and ran them in six jobs, while noting limitations involving failure types, configuration load balancing, and the effort required to produce unique test failures.

### Source excerpt

3.5 years ago we implemented and integrated SETA. This has a net effect today of reducing our load between 60-70%. SETA works on the premise of identifying specific test jobs that find real regressions and marking them as high priority. ... Continue reading ->

## What to do when Firefox crashes under test automation with Selenium

DevFeed: [What to do when Firefox crashes under test automation with Selenium](<https://devfeed.tech/articles/what-to-do-when-firefox-crashes-under-test-automation-with-selenium-20316.md>)

Original publisher: [Read original article](<https://www.hskupin.info/2018/05/30/what-to-do-when-firefox-crashes-under-test-automation-with-selenium/>)

Author: Henrik Skupin

Published: 2018-05-30T15:04:10Z

Content type: tutorial

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Selenium](<https://devfeed.tech/topics/selenium.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bug](<https://devfeed.tech/tags/bug.md>), [crash](<https://devfeed.tech/tags/crash.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [geckodriver](<https://devfeed.tech/tags/geckodriver.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [software](<https://devfeed.tech/tags/software.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>)

### AI overview

This tutorial explains how Firefox crashes can occur during Selenium-based website tests using geckodriver. It describes crash reporter support, the removal of minidump files with temporary profiles, and the planned MINIDUMP_SAVE_PATH mechanism for preserving crash data.

### Source excerpt

If you have the task to create automated tests for websites you will most likely make use of Selenium when it comes to testing UI interactions. To execute the tests for the various browsers out there each browser vendor offers a so called driver package which has to be used by Selenium to run each of the commands. In case of Firefox this will be geckodriver. Within the last months we got a couple of issues reported for geckodriver that Firefox sometimes crashes while the tests are running. This feedbackContinue readingWhat to do when Firefox crashes under test automation with Selenium

## running tests by bugzilla component instead of test suite

DevFeed: [running tests by bugzilla component instead of test suite](<https://devfeed.tech/articles/running-tests-by-bugzilla-component-instead-of-test-suite-20258.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2017/12/21/running-tests-by-bugzilla-component-instead-of-test-suite/>)

Author: elvis314

Published: 2017-12-21T17:07:44Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [testdev](<https://devfeed.tech/tags/testdev.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tools](<https://devfeed.tech/tags/tools.md>), [treeherder](<https://devfeed.tech/tags/treeherder.md>)

### AI overview

The article explores running tests by Bugzilla component instead of test suite or random chunks. It describes potential benefits including component-level code coverage, more deterministic SETA results, component filtering in Treeherder, and easier handling of intermittent tests, while noting that the approach is not production-ready.

### Source excerpt

Over the years we have had great dreams of running our tests in many different ways. There was a dream of 'hyperchunking' where we would run everything in hundreds of chunks finishing in just a couple of minutes for all ... Continue reading ->

## Element interactability checks with geckodriver and Firefox 58

DevFeed: [Element interactability checks with geckodriver and Firefox 58](<https://devfeed.tech/articles/element-interactability-checks-with-geckodriver-and-firefox-58-20315.md>)

Original publisher: [Read original article](<https://www.hskupin.info/2017/12/15/element-interactability-checks-with-geckodriver-and-firefox-58/>)

Author: Henrik Skupin

Published: 2017-12-15T12:59:55Z

Content type: tutorial

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Selenium](<https://devfeed.tech/topics/selenium.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [webDriver](<https://devfeed.tech/topics/webdriver.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [geckodriver](<https://devfeed.tech/tags/geckodriver.md>), [marionette](<https://devfeed.tech/tags/marionette.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [software](<https://devfeed.tech/tags/software.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

Firefox 58 enables interactability checks by default for Selenium and geckodriver Element Click and Element Send Keys operations. The article explains the resulting not-interactable errors, how to report false positives, and the temporary moz:webdriverClick workaround.

### Source excerpt

When you are using Selenium and geckodriver to automate your tests in Firefox you might see a behavior change with Firefox 58 when using the commands Element Click or Element Send Keys. For both commands we have enabled the interactability checks by default now. That means that if such an operation has to be performed for any kind of element it will be checked first, if a click on it or sending keys to it would work from a normal user perspective at all. If not a not-interactable error willContinue readingElement interactability checks with geckodriver and Firefox 58

## Measuring the noise in Performance tests

DevFeed: [Measuring the noise in Performance tests](<https://devfeed.tech/articles/measuring-the-noise-in-performance-tests-20257.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2017/11/16/measuring-the-noise-in-performance-tests/>)

Author: elvis314

Published: 2017-11-16T20:20:19Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Hardware](<https://devfeed.tech/topics/hardware.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [hardware](<https://devfeed.tech/tags/hardware.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [performance](<https://devfeed.tech/tags/performance.md>), [testdev](<https://devfeed.tech/tags/testdev.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

The article examines noise in Talos performance-test results, defining it as greater standard deviation and explaining how it can obscure regressions, trigger false alerts, and affect hardware evaluation. It describes using repeated data points, comparison views, and variance calculations to assess reliability when introducing new hardware.

### Source excerpt

Often I hear about our talos results, why are they so noisy? What is noise in this context- by noise we are referring to a larger stddev in the results we track, here would be an example: With the large ... Continue reading ->

## Keeping an eye on Performance alerts

DevFeed: [Keeping an eye on Performance alerts](<https://devfeed.tech/articles/keeping-an-eye-on-performance-alerts-20256.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2017/11/01/keeping-an-eye-on-performance-alerts/>)

Author: elvis314

Published: 2017-11-01T20:17:46Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [performance](<https://devfeed.tech/tags/performance.md>), [regression](<https://devfeed.tech/tags/regression.md>), [testdev](<https://devfeed.tech/tags/testdev.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article describes how Firefox 57 performance monitoring expanded beyond Talos to include build metrics, AWSY, Autophone, and platform microbenchmarks. It explains how these systems track metrics, detect regressions, generate alerts, and associate sustained findings with bugs.

### Source excerpt

Over the last 6 months there has been a deep focus on performance in order to release Firefox 57. Hundreds of developers sought out performance improvements and after thousands of small adjustments we see massive improvements. Last week I introduced ... Continue reading ->

## Stockwell: flowchart for triage

DevFeed: [Stockwell: flowchart for triage](<https://devfeed.tech/articles/stockwell-flowchart-for-triage-20255.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2017/10/23/stockwell-flowchart-for-triage/>)

Author: elvis314

Published: 2017-10-23T19:50:29Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Development](<https://devfeed.tech/topics/development.md>), [monitor](<https://devfeed.tech/topics/monitor.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [development](<https://devfeed.tech/tags/development.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [intermittents](<https://devfeed.tech/tags/intermittents.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [process](<https://devfeed.tech/tags/process.md>), [testdev](<https://devfeed.tech/tags/testdev.md>), [treeherder](<https://devfeed.tech/tags/treeherder.md>)

### AI overview

This article describes Stockwell's workflow for triaging intermittent failures. Tree sheriffs associate failures with bugs in Treeherder and Orange Factor, after which the Neglected Oranges tool helps identify failures lacking recent human comments. Frequently failing bugs may be monitored and disabled when they exceed the stated failure threshold or lack resources for a fix.

### Source excerpt

I gave an update 2 weeks ago on the current state of Stockwell (intermittent failures). I mentioned additional posts were coming and this is a second post in the series. First off the tree sheriffs who maintain merges between branches, ... Continue reading ->

## A formal introduction to Ionut Goldan - Mozilla's new Performance Sheriff and Tool hacker

DevFeed: [A formal introduction to Ionut Goldan - Mozilla's new Performance Sheriff and Tool hacker](<https://devfeed.tech/articles/a-formal-introduction-to-ionut-goldan-mozilla-s-new-performance-sheriff-and-tool-hacker-20254.md>)

Original publisher: [Read original article](<https://elvis314.wordpress.com/2017/10/18/a-formal-introduction-to-ionut-goldan-mozillas-new-performance-sheriff-and-tool-hacker/>)

Author: elvis314

Published: 2017-10-18T19:57:53Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [Python](<https://devfeed.tech/topics/python.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>)

Tags: [build-times](<https://devfeed.tech/tags/build-times.md>), [community](<https://devfeed.tech/tags/community.md>), [contribution](<https://devfeed.tech/tags/contribution.md>), [developers](<https://devfeed.tech/tags/developers.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [performance](<https://devfeed.tech/tags/performance.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

A Q&A introduces Ionut Goldan, Mozilla's performance sheriff and tool hacker. It describes his work handling Talos alerts and related performance data from Autophone, Build Metrics, AWSY, and platform microbenchmarks, followed by discussion of his background and earlier programming projects.

### Source excerpt

About 8 months ago we started looking for a full time performance sheriff to help out with our growing number of alerts and needs for keeping the Talos toolchain relevant. We got really lucky and ended up finding Ionut (:igoldan ... Continue reading ->

## Test Ownership

DevFeed: [Test Ownership](<https://devfeed.tech/articles/test-ownership-20273.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2017/06/08/test-ownership/>)

Author: gbrown-mozilla

Published: 2017-06-08T04:17:33Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Code](<https://devfeed.tech/topics/code.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [project-stockwell](<https://devfeed.tech/tags/project-stockwell.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

The article examines who should be responsible for intermittent test failures. It considers assigning responsibility to the test author, the person who last modified the test, the person whose changeset caused the failure, or the module owner, and discusses the benefits and limitations of these approaches.

### Source excerpt

When a bug for an intermittent test failure needs attention, who should be contacted? Who is responsible for fixing that ... Continue reading ->

## Notes from KatsConf2

DevFeed: [Notes from KatsConf2](<https://devfeed.tech/articles/notes-from-katsconf2-20244.md>)

Original publisher: [Read original article](<http://anjana.dev/blog/katsconf2/>)

Author: Anjana Sofia Vakil (contact@anjana.dev)

Published: 2017-02-19T00:00:00Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [conference](<https://devfeed.tech/tags/conference.md>), [functional](<https://devfeed.tech/tags/functional.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [opinions](<https://devfeed.tech/tags/opinions.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

Notes from KatsConf2, a functional programming conference in Dublin, covering tradeoffs in programming-language design, automation techniques, relational and total programming, type-driven development, and web programming with functional languages including Idris.

### Source excerpt

Hello from Dublin! Yesterday I had the privilege of attending KatsConf2, a functional programming conference put on by the fun-loving, welcoming, and crazy-well-organized @FunctionalKats. It was a whirlwind of really exciting talks from some of the best speakers around. Here's a glimpse into what I learned. There's no such thing as an objectively perfect programming language: all languages make tradeoffs. But it is possible to find/design a language that's more perfect for you and your project's needs. Automation, automation, automation: Generative programming lets you write high-level code that generates low-level code Program derivation and synthesis let you write specifications/tests and leave it to the computer to figure out the code (Boring!) code rewriting tasks can be automated too Relational programming, Total programming and Type-Driven Development are (cool/mindblowing) things. You can do web programming with FP - and interestingly, even in a total language like Idris. I took a bunch of notes during the talks, in case you're hungering for more details. But @jessitron took amazing graphical notes that I've linked to in the talks below, so just go read those! And for the complete experience, check out this storify Vicky Twomey-Lee, who led a great ally skills workshop the evening before the conference, made of the #KatsConf2 tweets: <noscript>[<a href="http://storify.com/whykay/kats-conf-2" target="_blank">View the story "Kats Conf 2" on Storify</a>]</noscript> Hopefully this gives you an idea of what was said and which brain-exploding things you should go look up now! Personally it opened up a bunch of cans of worms for me - definitely a lot of the material went over my head, but I have a ton of stuff to go find out more (i.e. the first thing) about. Disclaimer: The (unedited!!!) notes below represent my initial impressions of the content of these talks, jotted down as I listened. They may or may not be totally accurate, or precisely/adequately represent wh

## Notes from FOSDEM 2017

DevFeed: [Notes from FOSDEM 2017](<https://devfeed.tech/articles/notes-from-fosdem-2017-20242.md>)

Original publisher: [Read original article](<http://anjana.dev/blog/fosdem-2017/>)

Author: Anjana Sofia Vakil (contact@anjana.dev)

Published: 2017-02-13T00:00:00Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [FOSDEM](<https://devfeed.tech/topics/fosdem.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Open Data](<https://devfeed.tech/topics/open-data.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [fosdem](<https://devfeed.tech/tags/fosdem.md>), [github](<https://devfeed.tech/tags/github.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [notes](<https://devfeed.tech/tags/notes.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Personal notes from FOSDEM 2017 covering open source diversity, programming education through games, speech applications, browser rendering, Firefox automation and testing, Mozilla speakers, and open data for bike-sharing programs.

### Source excerpt

Riding the tram you hear the word "Linux" pronounced in four different languages. Stepping out into the grey drizzle, you instantly smell fresh waffles and GitHub-sponsored coffee, and everywhere you look you see a FSF t-shirt. That's right kids, it's FOSDEM time again! The beer may not be free, but the software sure is. Last year I got my first taste of this most epic of FLOSS conferences, back when I was an unemployed ex-grad-student with not even 5 pull requests to my name. This year, as a bona fide open source contributor, Mozillian, and full-time professional software engineer, I came back for more. Here are some things I learned: Open source in general - and, anecdotally, FOSDEM in particular - has a diversity problem. (Yes, we already knew this, but it still needs mentioning.) ...But not for long, if organizations like Mozilla and projects like IncLudo have anything to say about it. Games are a powerful tool to introduce programming, promote diversity, and build 21st-century literacy skills. Speech applications built on open technologies are not just a pipe dream! How browsers render the web is super interesting and something I want to get a clue about. FoxPuppet is making automating & testing Firefox even easier than with our beloved Marionette! The Mozilla Tech Speakers are straight killin' it. -- "How do you say "@mozTechSpeakers rocked @FOSDEM today!" in fox? -- ... 😉#mozdem pic.twitter.com/KStl9R8QLM -- Flaki (@slsoftworks) February 4, 2017 Open data for bike sharing programs in >400 cities around the world! 💚🚲💚 https://t.co/liu6MOI8Nc @ctbikes #FOSDEM pic.twitter.com/QHJyx3QzAm -- Anjana Vakil (@AnjanaVakil) February 5, 2017 Wrapped up the day with some VR painting in the browser (!!!) at the @mozilla stand - see you next year #FOSDEM ✌ pic.twitter.com/d23v7sRY9a -- Anjana Vakil (@AnjanaVakil) February 5, 2017 See the notes below for more! Disclaimer: The (unedited!!!) notes below represent my impressions of the content of these talks, jotted down as I listened

## Using Selenium and webdriver to interact with insecure SSL pages in Firefox

DevFeed: [Using Selenium and webdriver to interact with insecure SSL pages in Firefox](<https://devfeed.tech/articles/using-selenium-and-webdriver-to-interact-with-insecure-ssl-pages-in-firefox-20314.md>)

Original publisher: [Read original article](<https://www.hskupin.info/2017/01/23/using-selenium-and-webdriver-to-interact-with-insecure-ssl-pages-in-firefox/>)

Author: Admin

Published: 2017-01-23T14:13:56Z

Content type: tutorial

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [webDriver](<https://devfeed.tech/topics/webdriver.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [marionette](<https://devfeed.tech/tags/marionette.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [mozqa](<https://devfeed.tech/tags/mozqa.md>), [python](<https://devfeed.tech/tags/python.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

This tutorial explains how to use Selenium and Firefox WebDriver to access pages with invalid or self-signed SSL certificates during automated tests. It describes the Firefox 52 and Selenium 3 requirements and shows how to enable insecure certificate acceptance with the acceptInsecureCerts capability.

### Source excerpt

Interacting with insecure SSL pages (eg. self-signed) in an automated test written for Selenium is an important feature. Especially when tests are getting run against locally served test pages. Under those circumstances you might never get fully secured websites served to the browser instance under test. To still allow running your tests with a successful test result, Selenium can instruct the browser to ignore the validity check, which will simply browse to the specified site without bringing up the SSL error page. Since the default driver for Firefox was switchedContinue readingUsing Selenium and webdriver to interact with insecure SSL pages in Firefox

## Triaging Neglected Intermittent Test Failures

DevFeed: [Triaging Neglected Intermittent Test Failures](<https://devfeed.tech/articles/neglected-oranges-20272.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2016/10/31/neglected-oranges/>)

Author: gbrown-mozilla

Published: 2016-10-31T20:20:12Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [project-stockwell](<https://devfeed.tech/tags/project-stockwell.md>), [script](<https://devfeed.tech/tags/script.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

An account of using a script to find frequent intermittent test-failure bugs without recent comments and triage them. The author reports that recently triaged bugs were resolved within an average of three days, while cautioning that the sample likely included easier cases and that the broader effect is uncertain.

### Source excerpt

I wrote earlier about my initial experience with triaging frequent intermittent test failures. I was happy to find that most ... Continue reading ->

## Timeout Triage

DevFeed: [Timeout Triage](<https://devfeed.tech/articles/timeout-triage-20271.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2016/10/28/timeout-triage/>)

Author: gbrown-mozilla

Published: 2016-10-28T18:39:45Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [future](<https://devfeed.tech/tags/future.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [project-stockwell](<https://devfeed.tech/tags/project-stockwell.md>), [report](<https://devfeed.tech/tags/report.md>), [running](<https://devfeed.tech/tags/running.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This article discusses how to investigate intermittent test timeouts by comparing successful and failed run durations. It distinguishes possible intermittent hangs from legitimately long-running tests and proposes clearer documentation and tools for identifying timeout risks.

### Source excerpt

Many of our frequent intermittent test failures are timeouts. There are a lot of ways that a test - or ... Continue reading ->

## Triaging with Orange Factor

DevFeed: [Triaging with Orange Factor](<https://devfeed.tech/articles/triaging-with-orange-factor-20270.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2016/10/17/triaging-with-orange-factor/>)

Author: gbrown-mozilla

Published: 2016-10-17T20:11:00Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [IRC](<https://devfeed.tech/topics/irc.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [intermittents](<https://devfeed.tech/tags/intermittents.md>), [irc](<https://devfeed.tech/tags/irc.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [project-stockwell](<https://devfeed.tech/tags/project-stockwell.md>), [testing](<https://devfeed.tech/tags/testing.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The author describes using Orange Factor to find frequent intermittent test failures and Bugzilla to identify neglected bugs. They share examples where checking recent changes and contacting relevant people led to prompt investigation or resolution, while noting that determining bug activity remains difficult.

### Source excerpt

Recently, I have been trying to spend a little time each day looking over the most frequent intermittent test failures ... Continue reading ->

## Skipping persistent intermittent failures

DevFeed: [Skipping persistent intermittent failures](<https://devfeed.tech/articles/skipping-persistent-intermittent-failures-20269.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2016/10/07/skipping-persistent-intermittent-failures/>)

Author: gbrown-mozilla

Published: 2016-10-07T23:16:25Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [automated](<https://devfeed.tech/tags/automated.md>), [bug](<https://devfeed.tech/tags/bug.md>), [developers](<https://devfeed.tech/tags/developers.md>), [intermittent-failures](<https://devfeed.tech/tags/intermittent-failures.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [project-stockwell](<https://devfeed.tech/tags/project-stockwell.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [taskcluster](<https://devfeed.tech/tags/taskcluster.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

The article argues that teams should more aggressively skip tests with frequent, persistent intermittent failures to reduce the cost of repeated failures and developer attention. It acknowledges the trade-off of losing test coverage and potentially missing spontaneous fixes.

### Source excerpt

Our automated tests seem to fail a lot. Instead of a sea of green, a typical good push often looks ... Continue reading ->

## Firefox for Android Performance Measures - Q3 Check-up

DevFeed: [Firefox for Android Performance Measures - Q3 Check-up](<https://devfeed.tech/articles/firefox-for-android-performance-measures-q3-check-up-20268.md>)

Original publisher: [Read original article](<https://gbrownmozilla.wordpress.com/2016/09/30/firefox-for-android-performance-measures-q3-check-up-2/>)

Author: gbrown-mozilla

Published: 2016-09-30T19:57:17Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [Android](<https://devfeed.tech/topics/android.md>), [bug](<https://devfeed.tech/topics/bug.md>), [SVG](<https://devfeed.tech/topics/svg.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apk](<https://devfeed.tech/tags/apk.md>), [bug](<https://devfeed.tech/tags/bug.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [firefox-for-android](<https://devfeed.tech/tags/firefox-for-android.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [memory](<https://devfeed.tech/tags/memory.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-measurements](<https://devfeed.tech/tags/performance-measurements.md>), [startup](<https://devfeed.tech/tags/startup.md>), [svg](<https://devfeed.tech/tags/svg.md>), [treeherder](<https://devfeed.tech/tags/treeherder.md>)

### AI overview

A Q3 performance check-up for Firefox for Android reports improvements in APK size, memory use, and startup time associated with bug 1291424. It also reviews Autophone and Talos measurements, finding no significant improvements or regressions for the reported SVG and page-load tests.

### Source excerpt

Highlights: Recent outstanding improvements in APK size, memory use, and startup time, all due to :esawin's efforts in bug 1291424. ... Continue reading ->

## Marionette, Act II: Harnessing automation to test the browser

DevFeed: [Marionette, Act II: Harnessing automation to test the browser](<https://devfeed.tech/articles/marionette-act-ii-harnessing-automation-to-test-the-browser-20246.md>)

Original publisher: [Read original article](<http://anjana.dev/blog/marionette-act-ii-testing/>)

Author: Anjana Sofia Vakil (contact@anjana.dev)

Published: 2016-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [automation](<https://devfeed.tech/tags/automation.md>), [browser](<https://devfeed.tech/tags/browser.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [marionette](<https://devfeed.tech/tags/marionette.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [python](<https://devfeed.tech/tags/python.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

This article explains the Marionette test harness, a testing framework for running automated tests on Mozilla browsers using the Marionette automation tools. It describes how browser automation supports testing instead of manual checks, with a Python API controlling the Gecko browser engine.

### Source excerpt

Welcome back to my post series on the Marionette project! In Act I, we looked into Marionette's automation framework for Gecko, the engine behind the Firefox browser. Here in Act II, we'll take a look at a complementary side of the Marionette project: the testing framework that helps us run tests using our Marionette-animated browser, aka the Marionette test harness. If - like me at the start of my Outreachy internship - you're clueless about test harnesses, or the Marionette harness in particular, and want to fix that, you're in the right place! Wait, what's Marionette again? Quick recap from Act I: Marionette refers to a suite of tools for automated testing of Mozilla browsers. In that post, we saw how the Marionette automation framework lets us control the Gecko browser engine (our "puppet"), thanks to a server component built into Gecko (the puppet's "strings") and a client component (a "handle" for the puppeteer) that gives us a simple Python API to talk to the server and thus control the browser. But why do we need to automate the browser in the first place? What good does it do us? Well, one thing it's great for is testing. Indulge me in a brief return to my puppet metaphor from last time, won't you? If the automation side of Marionette gives us strings and a handle that turn the browser into our puppet, the testing side of Marionette gives that puppet a reason for being, by letting it perform: it sets up a stage for the puppet to dance on, tell it to carry out a given performance, write a review of that performance, and tear down the stage again. OK, OK, metaphor-indulgence over; let's get real. Wait, why do we need automated browser testing again? As Firefox1 contributors, we don't want to have to manually open up Firefox, click around, and check that everything works every time we change a line of code. We're developers, we're lazy! Clueless via POPSUGAR But we can't not do it, because then we might not realize that we've broken the entire internet (or, yo

## Outreachy Internship Update: Learning Mozilla's Development Process and Refactoring Marionette's Python Test Runner

DevFeed: [Outreachy Internship Update: Learning Mozilla's Development Process and Refactoring Marionette's Python Test Runner](<https://devfeed.tech/articles/outreachy-halftime-ish-update-20249.md>)

Original publisher: [Read original article](<http://anjana.dev/blog/outreachy-halftime-ish-update/>)

Author: Anjana Sofia Vakil (contact@anjana.dev)

Published: 2016-08-02T00:00:00Z

Content type: opinion

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Python](<https://devfeed.tech/topics/python.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Pytest](<https://devfeed.tech/topics/pytest.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [development-process](<https://devfeed.tech/tags/development-process.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [internship](<https://devfeed.tech/tags/internship.md>), [marionette](<https://devfeed.tech/tags/marionette.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [mozreview](<https://devfeed.tech/tags/mozreview.md>), [outreachy](<https://devfeed.tech/tags/outreachy.md>), [pytest](<https://devfeed.tech/tags/pytest.md>), [python](<https://devfeed.tech/tags/python.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [treeherder](<https://devfeed.tech/tags/treeherder.md>)

### AI overview

An Outreachy intern reflects on the first part of an internship with Mozilla, describing the process of learning Mozilla's development tools and workflows. The article also outlines work on test-driven refactoring of Marionette's Python test runner and previews a follow-up post about its test runner and harness.

### Source excerpt

It feels like yesterday that I started my Outreachy internship, but it was actually over 2 months ago! For the last couple of weeks I've been on Outreachy hiatus because of EuroPython, moving from Saarbrücken to Berlin, and my mentor being on vacation. Now I'm back, with 6 weeks left in my internship! So it seems like a good moment to check in and reflect on how things have been going so far, and what's in store for the rest of my time as an Outreachyee. What have I been up to? Learning how to do the work In the rather involved application process for Outreachy, I already had to spend quite a bit of time figuring out the process for making even the tiniest contribution to the Mozilla codebase. But obviously one can't learn everything there is to know about a project within a couple of weeks, so a good chunk of my Outreachy time so far was spent on getting better acquainted with: The tools I've already written about my learning experiences with Mercurial, but there were a lot of other components of the Mozilla development process that I had to learn about (and am still learning about), such as Bugzilla, MozReview, Treeherder, Try, Mach... Then, since the project I'm working focuses on testing, I had to grok things like Pytest and Mock. Since most everything I'm doing is in Python, I've also been picking up useful Python tidbits here and there. The project My internship project, "Test-driven refactoring of Marionette's Python test runner", relates to a component of the Marionette project, which encompasses a lot of moving parts. Even figuring out what Marionette is, what components it comprises, how these interrelate, and which of them I need to know about, was a non-trivial task. That's why I'm writing a couple of posts about the project itself - one down, one to go - to crystallize what I've learned and hopefully make it a little easier for other people to get through the what-even-is-it steps that I've been going through. This post is a sort of "intermission", so sta

## Understanding WebDriver, Selenium, Marionette, and Browser Automation

DevFeed: [Understanding WebDriver, Selenium, Marionette, and Browser Automation](<https://devfeed.tech/articles/untangling-webdriver-and-the-browser-automation-landscape-i-live-in-20304.md>)

Original publisher: [Read original article](<https://www.erranderr.com/blog/webdriver-ontology.html>)

Author: Maja Frydrychowicz

Published: 2016-07-12T04:00:00Z

Content type: article

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [webDriver](<https://devfeed.tech/topics/webdriver.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browser-ui](<https://devfeed.tech/tags/browser-ui.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [client-driver](<https://devfeed.tech/tags/client-driver.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [foss](<https://devfeed.tech/tags/foss.md>), [geckodriver](<https://devfeed.tech/tags/geckodriver.md>), [harness](<https://devfeed.tech/tags/harness.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [json](<https://devfeed.tech/tags/json.md>), [marionette](<https://devfeed.tech/tags/marionette.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [payload](<https://devfeed.tech/tags/payload.md>), [request](<https://devfeed.tech/tags/request.md>), [responses](<https://devfeed.tech/tags/responses.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [w3c](<https://devfeed.tech/tags/w3c.md>), [web](<https://devfeed.tech/tags/web.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

An explanatory article untangles the terminology around Marionette, Selenium, WebDriver, FirefoxDriver, and geckodriver. It explains the W3C WebDriver Specification and how its browser-agnostic protocol uses JSON over HTTP to send commands and receive responses for browser automation and testing.

### Source excerpt

I define WebDriver, W3C WebDriver, Selenium, geckodriver, FirefoxDriver, Marionette harness/runner/client/driver and more.

[Next page](<https://devfeed.tech/sources/mozilla-automation.md?cursor=WyIyMDE2LTA3LTEyVDA0OjAwOjAwKzAwOjAwIiwgImM0MTJlMjUxLTJkNzktNDBmNS1hZWE5LTkwOGEyNWNkYzQ2MyJd>)