Introduction
Google Chrome for Testing is a new Chrome flavor that specifically targets web app testing and automation use cases.
Browser and Driver Setup and Maintenance
Setting up a browser testing environment is a difficult task, and it needs more effort to keep the browser and the chrome driver up-to-date and it is a top web developer / automation engineer's pain point
The Auto-Update
One of Chrome’s most notable features is its ability to auto-update. This helps the users to keep their browsers up-to-date with the latest upgrades and be safe when they are online
As a developer / automation engineer, running a suite of end-to-end tests requires the below aspects to be taken care of
- You want consistent, reproducible results across repeated test runs—but this may not happen if the browser executable or binary decides to update itself in between two runs.
- You want to pin a specific browser version and check that version number into your source code repository, so that you can check out old commits and branches and re-run the tests against the browser binary from that point in time.
The process of a browser that auto-updates creates compatibitlity with webdriver and there needs to be a manual intervention to address this.
Versioned browser binaries
Google intentionally doesn’t make versioned Chrome downloads available, since users shouldn’t have to care about version numbers—they should always get updated to the latest version as soon as possible. This is great for users, but painful for developers needing to reproduce a bug report in an older Chrome version
Due to the manual intervention and addressing of the version issue, there are flaws.
- First, these Chromium binaries are not reliably available across all platforms.
- Second, they are built and published separately from the Chrome release process, making it impossible to map their versions back to real user-facing Chrome releases.
- Third, Chromium is different from Chrome
Chrome for Testing
Designed to solve these problems, Chrome for Testing is a dedicated flavor of Chrome targeting the testing use case, without auto-update, integrated into the Chrome release process, made available for every Chrome release. A versioned binary that’s as close to regular Chrome as possible without negatively affecting the testing use case.
The difficulties we previously mentioned around finding a matching Chrome and ChromeDriver binary can be completely eliminated by integrating the ChromeDriver release process into the Chrome for Testing infrastructure. In addition to solving this user-facing pain point, this also aligns ChromeDriver releases with Chrome’s, and eliminates the manual ChromeDriver release process.
Comments
Post a Comment