Where and how to get hands on an older versions of google-chrome?
Tags: chrome, chromedriver
Published: 2022-11-24 09:57:07

## Issue
Recently I needed to run some functional tests against the older version of **chrome** browser as the chrome-driver available to me (part of the 3rd party test tools) was working only with slightly older version of google-chrome than my current system.
I thought it is easy, I just *google* where google stores the old version of their browser, download binaries and point my testing tool to the *correct* version.
It turned out that both of my assumptions were hiding some troubles behind and I realized that it is actually not that straightforward to get my hands on the older binaries of the chrome browser.

## Where to get the old version?
Google had not made available the older version of their chrome browser to public due to security issues which are of course patched in the current version. It is possible to downgrade as per this [thread](https://support.google.com/chrome/a/answer/7125792?hl=en) up to 3 stable versions back, but that is usually not enough and it is a hassle.
After a little bit of searching I've found this [www.slimjet.com](https://www.slimjet.com/chrome/google-chrome-old-version.php) website offering plethora of old stable versions releases. It doesn't cover all, only the latest of major versions. That might be just enough and if not there is also chromium [https://www.chromium.org](https://www.chromium.org/chromium-projects/) project which is essentially identical to chrome. It is available through the chromium snapshots.
The information on how the get them can be found directly on chromium website at [https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html](https://www.chromium.org/getting-involved/download-chromium/).
It offers to browse the chromium snapshots by **branch base position**. However this doesn't tell you a lot if you need a specific version let's say `105.0.5195.52`, but you can find corresponding number by using this lookup service at [omahaproxy.appspot.com](https://omahaproxy.appspot.com/).

Enter the version number you are looking for in the lookup field and get the information like commit number along with branch base position.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pmj2rysa3pon2rbrifys.png)


Take the **Branch Base Position** and browse the [available options](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/) if you need Linux, or lookup the corresponding platform.
If there is none, as the google-chrome released versions might not exactly correspond to chromium releases, try decreasing the branch base position until you find the hit. It might be `105.0.5195.0`, which most likely will work with your chrome-driver.

## How to work with the older versions
I probably should note that using the outdated browser version is not advised, actually the opposite. Therefore functional and end to end testing on an out-dated version is not recommended either if not outright pointless except some edge cases where you are required to cater for a legacy systems.
In my case I needed the older version, specifically two major versions down as my third party test tool doesn't get update that often and it happens, that the available latest chromedriver is not enough to run tests against the latest version of my chrome browser. In theory I could downgrade two versions down and still enjoy the google's support, but it might be just inconvenient. I prefer to work with binaries and leave the browser installation which I use daily most up to date. More on this in my following [blog](https://dev.to/webduvet/how-to-manage-versions-using-update-alternatives-258e)


## Links

- [simjet](https://www.slimjet.com/chrome/google-chrome-old-version.php)
- [lookup by version](https://omahaproxy.appspot.com/)
- [chromium released versions snapshots](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html)