Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions website_and_docs/content/blog/2026/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Blog Posts - 2026"
linkTitle: "2026"
weight: 86
---
89 changes: 89 additions & 0 deletions website_and_docs/content/blog/2026/chrome_fornightly_releases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: "The Fortnightly Flutter: Why Chrome’s New Cadence is a 'Non-Event' for Selenium Users"
linkTitle: "Chrome Moves to fortnightly releases"
date: 2026-03-10
tags: ["selenium"]
categories: ["general"]
author: David Burns [@automatedtester](https://www.linkedin.com/in/theautomatedtester//)
description: >
This blog post discusses the move of Chrome going to do a 14 day release cycle and how it's mostly a non-event for Selenium users.
---


If you’ve been following the Chromium blog, you’ll have seen the news: Chrome is moving to a fortnightly (two-week) release cycle. Starting in September 2026, the pace of the web is effectively doubling. For the uninitiated, this sounds like a recipe for "Broken Test Friday." In the old days of manual driver management, a faster release cadence meant more frequent SessionNotCreatedException errors and more time spent hunting for the right chromedriver binary to match your updated browser.
Comment thread
AutomatedTester marked this conversation as resolved.
Outdated

But I’m here to tell you: Don’t panic. If you are using a modern version of Selenium (v4.11 or newer), this change is effectively a "non-event." Thanks to Selenium Manager, the days of manually synchronizing your browser and driver are over.

## The Problem: The Versioning Treadmill

Historically, automation engineers were stuck in a reactive loop. Chrome would auto-update in the background, your tests would fail because the driver on your PATH was stale, and you'd spend your morning manually downloading a .zip file.

As the release cycle moves to every two weeks, the "manual" cost of maintenance becomes unsustainable. You shouldn't be a "Binary Manager"; you should be a Test Engineer.

## The Solution: Selenium Manager & Chrome for Testing (CfT)

A few years ago, the Selenium project introduced Selenium Manager, a tool bundled with every Selenium release. It works in tandem with Google’s Chrome for Testing (CfT)—a dedicated flavor of Chrome specifically for automation that doesn't "stealth update" and has its own versioned endpoints.

When your code starts a session, Selenium Manager silently handles the heavy lifting:

Detection: It checks which version of Chrome is currently on your machine.

Resolution: It discovers the matching ChromeDriver version via the CfT endpoints.

Acquisition: If Chrome isn't found (or you need a specific version), it downloads the correct Chrome for Testing binary and the driver for you.

Caching: It stores these in `~/.cache/selenium` so you aren't re-downloading them every time.

## What this looks like in practice

You don't need to change your code to handle the fortnightly updates. If you have a standard setup, it just works. Here is how it looks across the bindings:
Comment thread
AutomatedTester marked this conversation as resolved.
Outdated

Java
{{< tabpane langEqualsHeader=true >}}
{{< tab header="Java" >}}
// No System.setProperty needed for chromedriver
WebDriver driver = new ChromeDriver();
// Selenium Manager automatically resolves the driver & browser behind the scenes.
{{< /tab >}}
{{< /tabpane >}}

Python
{{< tabpane langEqualsHeader=true >}}
{{< tab header="Python" >}}
from selenium import webdriver

# No executable_path required

driver = webdriver.Chrome()
Comment thread
AutomatedTester marked this conversation as resolved.
Outdated

# Even if Chrome updates every two weeks, Selenium Manager fetches the right bits

{{< /tab >}}
{{< /tabpane >}}

Taking Control of Versions
While Selenium Manager handles the "latest" version by default, the move to a fortnightly cycle might make you want to pin your versions to ensure stability across your CI/CD pipelines. You can do this easily through ChromeOptions:
Comment thread
AutomatedTester marked this conversation as resolved.
Outdated

{{< tabpane langEqualsHeader=true >}}
{{< tab header="Python" >}}
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()

# Pin to a specific fortnightly release
Comment thread
AutomatedTester marked this conversation as resolved.
Outdated

options.browser_version = "153"

driver = webdriver.Chrome(options=options)
{{< /tab >}}
{{< /tabpane >}}

In this scenario, Selenium Manager will see you want version 153, find the correct CfT binary, download it, and run your tests against that specific version—regardless of what the "regular" Chrome on your machine is doing.

The Bottom Line
The web is moving faster, and browser vendors are shipping features and security patches at an incredible rate. Our goal at Selenium is to ensure that the infrastructure of your tests remains invisible.

The move to a two-week cycle is a testament to how far web engineering has come. With Selenium Manager, you can enjoy the benefits of a modern browser without the headache of manual maintenance.

Keep your tests green and your drivers automated.
Loading