# Browser Automation

Browser automation is the programmatic remote control of web browsers, commonly used by developers and testers to automate browser-based tests and tooling.

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

## Product Engineering for PMs, Part 1: Build a SaaS App Without Coding

DevFeed: [Product Engineering for PMs, Part 1: Build a SaaS App Without Coding](<https://devfeed.tech/articles/product-engineering-for-pms-part-1-build-a-saas-app-without-coding-39184.md>)

Original publisher: [Read original article](<https://www.productcompass.pm/p/product-engineering-for-pms>)

Author: Paweł Huryn

Published: 2026-08-31T15:35:45Z

Content type: tutorial

Language: en

Sources: [The Product Compass](<https://devfeed.tech/sources/the-product-compass.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [test](<https://devfeed.tech/topics/test.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [browser](<https://devfeed.tech/tags/browser.md>), [build](<https://devfeed.tech/tags/build.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [monetization](<https://devfeed.tech/tags/monetization.md>), [saas](<https://devfeed.tech/tags/saas.md>)

### AI overview

A step-by-step series for PMs and non-coders to design, build, secure, deploy, launch, monetize, analyze, and monitor a commercial SaaS app using Claude Code, Clerk, and Supabase. The case study is AskOne, a live Q&A product, and the article includes prompts, templates, browser automation, and testing workflows.

### Source excerpt

Design, build, secure, and deploy a real multi-tenant SaaS app in 3-4 hours: Claude Code, Clerk, Supabase. No coding. All prompts included.

## Browser automation with Pydantic AI + Playwright

DevFeed: [Browser automation with Pydantic AI + Playwright](<https://devfeed.tech/articles/browser-automation-with-pydantic-ai-playwright-21751.md>)

Original publisher: [Read original article](<http://blog.pamelafox.org/2026/08/browser-automation-with-pydantic-ai.html>)

Author: Pamela Fox (noreply@blogger.com)

Published: 2026-08-20T21:57:18Z

Content type: tutorial

Language: en

Sources: [Pamela Fox](<https://devfeed.tech/sources/pamela-fox.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Azure OpenAI](<https://devfeed.tech/topics/azure-openai.md>), [Entra ID](<https://devfeed.tech/topics/entra-id.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [automation](<https://devfeed.tech/tags/automation.md>), [azure-openai](<https://devfeed.tech/tags/azure-openai.md>), [browser](<https://devfeed.tech/tags/browser.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [microsoft-foundry](<https://devfeed.tech/tags/microsoft-foundry.md>), [openai](<https://devfeed.tech/tags/openai.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This tutorial explains how to combine Pydantic AI with Playwright to build agents that browse websites programmatically. It covers connecting Pydantic AI to Microsoft Foundry models through an OpenAI-compatible endpoint, using Entra token-based authentication, and applying Playwright for browsing, manual QA, and design iteration.

### Source excerpt

When we build agents, we often want to give them the ability to browse the web: open webpages, navigate from one page to the other, and read the content of a webpage. By combining Pydantic AI with the Playwright capability from Pydantic AI Harness, we can build agents that browse the web safely and programmatically. Using Pydantic AI with Microsoft Foundry models Pydantic AI is an open-source model-agnostic framework from Pydantic for building LLM-based applications and agents. It's type-safe and supports OpenTelemetry, making it a great choice for robust production applications. We can use Pydantic-AI with Microsoft Foundry models using either API keys or Entra token-based authentication. When possible, we always recommend the keyless route, so that's what we'll demonstrate here. We use the azure-identity package to authenticate with Entra, using either local or managed identity, and get back a token provider callback function for that credential: from azure.identity.aio import AzureDeveloperCliCredential, get_bearer_token_provider credential = AzureDeveloperCliCredential() token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default") Then we use the OpenAI package to configure the model connection: from openai import AsyncOpenAI client = AsyncOpenAI( base_url=os.environ["AZURE_OPENAI_ENDPOINT"] + "/openai/v1", api_key=token_provider, ) model = OpenAIChatModel( model_name=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT"], provider=OpenAIProvider(openai_client=client), ) Let's explain the options used above: base_url: We point this at the OpenAI-compatible endpoint for our Foundry model. This endpoint works for Azure OpenAI models (like gpt-5.4, which this project deploys), and for cross-provider Foundry models that support the OpenAI v1 API, like Kimi-K2.7-Code. The base URL looks like "https://AZURE_OPENAI_SERVICE_NAME.openai.azure.com/openai/v1". api_key: We pass in the token provider callback function that generates OAuth2 token

## The unbreakable web: From fragile scripts to bulletproof Workflows

DevFeed: [The unbreakable web: From fragile scripts to bulletproof Workflows](<https://devfeed.tech/articles/the-unbreakable-web-from-fragile-scripts-to-bulletproof-workflows-36070.md>)

Original publisher: [Read original article](<https://temporal.io/blog/the-unbreakable-web-from-fragile-scripts-to-bulletproof-workflows>)

Author: Kyle Jeong

Published: 2025-08-20T00:00:00Z

Content type: opinion

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Bots](<https://devfeed.tech/topics/ai-bots.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [automation](<https://devfeed.tech/tags/automation.md>), [browser](<https://devfeed.tech/tags/browser.md>), [execution](<https://devfeed.tech/tags/execution.md>), [self-healing](<https://devfeed.tech/tags/self-healing.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

The article argues that production web automation needs more than brittle scripts. It presents Browserbase's Stagehand SDK and Temporal Durable Execution as a combination for semantic interaction with web elements, recovery from failures, and continuation after interruptions.

### Source excerpt

Build bulletproof browser automation and AI agents with Browserbase and Temporal. Stagehand and Durable Execution turn fragile scripts into resilient Workflows.

## Improved Browser Testing on Heroku with Chrome

DevFeed: [Improved Browser Testing on Heroku with Chrome](<https://devfeed.tech/articles/improved-browser-testing-on-heroku-with-chrome-26450.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/improved-browser-testing-on-heroku-with-chrome/>)

Author: Mars Hall

Published: 2024-04-09T22:00:00Z

Content type: article

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [browser](<https://devfeed.tech/tags/browser.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [ci](<https://devfeed.tech/tags/ci.md>), [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Heroku introduces the Chrome for Testing Heroku Buildpack, a community buildpack designed to improve installation reliability for automated browser testing in Heroku apps. It addresses Chrome and Chromedriver version mismatches by keeping their versions aligned for testing environments.

### Source excerpt

For developers and businesses offering a web-based product, automated browser testing is a critical tool to ensure continuous delivery of a reliable service. Developers write browser tests by scripting actions against a real browser, simulating real usage by navigating, selecting, and making assertions about web pages and their document elements. In this post, we introduce [...] The post Improved Browser Testing on Heroku with Chrome appeared first on Heroku.

## Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS

DevFeed: [Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS](<https://devfeed.tech/articles/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os-21858.md>)

Original publisher: [Read original article](<https://www.hanselman.com/blog/updating-to-net-8-updating-to-ihostbuilder-and-running-playwright-tests-within-nunit-headless-or-headed-on-any-os>)

Author: Scott Hanselman

Published: 2024-03-07T01:12:13Z

Content type: tutorial

Language: en

Sources: [Scott Hanselman](<https://devfeed.tech/sources/scott-hanselman.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>)

Tags: [asp-net](<https://devfeed.tech/tags/asp-net.md>), [automation-testing](<https://devfeed.tech/tags/automation-testing.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [debug](<https://devfeed.tech/tags/debug.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dotnetcore](<https://devfeed.tech/tags/dotnetcore.md>), [integration](<https://devfeed.tech/tags/integration.md>), [linux](<https://devfeed.tech/tags/linux.md>), [net](<https://devfeed.tech/tags/net.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>), [web](<https://devfeed.tech/tags/web.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on updating a .NET application to .NET 8 and running Playwright browser tests through NUnit. It explains the transition from IWebHostBuilder to IHostBuilder and describes cross-platform, headless or headed testing across local systems, containers, and CI environments.

### Source excerpt

I've been doing not just Unit Testing for my sites but full on Integration Testing and Browser Automation Testing as early as 2007 with Selenium. Lately, however, I've been using the faster and generally more compatible Playwright. It has one API and can test on Windows, Linux, Mac, locally, in a container (headless), in my CI/CD pipeline, on Azure DevOps, or in GitHub Actions. For me, it's that last moment of truth to make sure that the site runs completely from end to end. I can write those Playwright tests in something like TypeScript, and I could launch them with node, but I like running end unit tests and using that test runner and test harness as my jumping off point for my .NET applications. I'm used to right clicking and "run unit tests" or even better, right click and "debug unit tests" in Visual Studio or VS Code. This gets me the benefit of all of the assertions of a full unit testing framework, and all the benefits of using something like Playwright to automate my browser. In 2018 I was using WebApplicationFactory and some tricky hacks to basically spin up ASP.NET within .NET (at the time) Core 2.1 within the unit tests and then launching Selenium. This was kind of janky and would require to manually start a separate process and manage its life cycle. However, I kept on with this hack for a number of years basically trying to get the Kestrel Web Server to spin up inside of my unit tests. I've recently upgraded my main site and podcast site to .NET 8. Keep in mind that I've been moving my websites forward from early early versions of .NET to the most recent versions. The blog is happily running on Linux in a container on .NET 8, but its original code started in 2002 on .NET 1.1. Now that I'm on .NET 8, I scandalously discovered (as my unit tests stopped working) that the rest of the world had moved from IWebHostBuilder to IHostBuilder five version of .NET ago. Gulp. Say what you will, but the backward compatibility is impressive. As such my code for Progr

## Dockerized e2e tests

DevFeed: [Dockerized e2e tests](<https://devfeed.tech/articles/dockerized-e2e-tests-27294.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201802/dockerized-e2e/>)

Published: 2018-02-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Travis CI](<https://devfeed.tech/topics/travis-ci.md>), [webDriver](<https://devfeed.tech/topics/webdriver.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [ci](<https://devfeed.tech/tags/ci.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [travis-ci](<https://devfeed.tech/tags/travis-ci.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

This tutorial explains how to run Selenium end-to-end tests in Docker and integrate them with CI tools such as Travis CI, GitLab CI, or Jenkins. It describes using Selenium Hub and Chrome and Firefox node containers, configuring WebdriverIO, capturing screenshots for failed tests, and organizing tests with a Page Object.

### Source excerpt

In my free time, I'm trying to learn something new and best of way learning is by doing. To avoid spinning my wheels in vain I'm helping to develop some product. In the previous post, I've described what we've decided to use for the UI and pointed out that I'm going to write integration tests. Here is how I integrated selenium e2e tests with gitlab-ci/travis-ci/whatever by running them in docker. Read more

## 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

## 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

## 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

## 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.

## Automate your UI testing with Nightwatch

DevFeed: [Automate your UI testing with Nightwatch](<https://devfeed.tech/articles/automate-your-ui-testing-with-nightwatch-21211.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2014/02/nightwatch-test-automation/>)

Published: 2014-02-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Browser Automation](<https://devfeed.tech/topics/browser-automation.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [webDriver](<https://devfeed.tech/topics/webdriver.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [backend](<https://devfeed.tech/tags/backend.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [npm](<https://devfeed.tech/tags/npm.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [webdriver](<https://devfeed.tech/tags/webdriver.md>)

### AI overview

A tutorial describing how to automate front-end UI tests with Nightwatch, Node, npm, and Selenium. It demonstrates a test that logs into a portal and verifies that web applications respond as expected, and explains the setup, test modules, runner configuration, and WebDriver communication.

### Source excerpt

Lorem ipsum dolor sit amet