Can I make Cypress run the beta version of Chrome? - google-chrome

We want to test our Angular Application with the beta version of chrome Version 80.0.3987.78 (Official Build) beta (64-bit). I also have on my machine Version 79.0.3945.130 (Official Build) (32-bit). Is there a way I can make Cypress run the beta version?

Yes, you can. Just download the specified version from chromium.cypress.io.
Then you have two options:
Place the executable in the expected path with the expected binary name - more info here
Launch Cypress specifying a path to the binary. Example with path /usr/bin/chromium:
cypress run --browser /usr/bin/chromium or
cypress open --browser /usr/bin/chromium

Related

How can I get chromedriver to work properly with chrome in wsl2?

I am trying to run automated tests on a repository forked from here. I haven't really worked with yarn or mocha before (or chromedriver) so I'm going off of what the instructions are saying.
I've set up Ubuntu 18.04 in wsl2 and installed google-chrome-stable and chromedriver both at version 99.0.4844.51 in /usr/bin/. I have yarn start running in one terminal and when I try actually run yarn test it gives me:
SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 94
Current browser version is 99.0.4844.51 with binary path /usr/bin/google-chrome-stable
I've tried upgrading chromedriver from here to version 100.0.4896.20 but it gives me the same error saying it only supports Chrome version 94. I'm having a hard time trying to find Google version 94 for linux, and I'll be happy either way, either upgrading the chromedriver or downgrading chrome.

Can Google Chrome Canary be reverted to previous version?

I utilize Google Chrome Canary for development work.
System:
OS: macOS Big Sur 11.2.3
Processor: i7
Since Canary has a nightly build, I am regularly running Update Chrome button in the browser, but not every day. Yesterday, this update caused Canary to crash. I tried the following:
Restarting Canary
Downloading and re-installing the Canary build
Restarting my computer
None worked. Today, I simply re-downloaded the nightly build, and voila all was working again.
(Working Build: Version 92.0.4476.0 (Official Build) canary (x86_64))
On the above link, they fully warn ye who enter here:
Get on the bleeding edge of the web. Be warned: Canary can be unstable.
So I guess I'll treat this, my first question, as practice if there really is no good answer:
Is there anywhere safe on the web to download and run a previous version of the Canary build in these situations? Otherwise I might just have to save my last stable download locally and have that as a fall-back.
You could find and backup the last build of your canary in these default folder:
For macOS:
~/Library/Application Support/Google/Chrome Canary/
For windows 10:
\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application
I'm not sure if you could find the previous build in there.

How can I download Appropriate Chromedriver in Protractor using Webdriver-Manager

I have designed a cucumber-protractor based automation framework where everything is working fine except for the Webdriver-manager. I need to update the binaries manually each time the IT Department updates google chrome version.
When i use command "webdriver-manager update --proxy=http://someproxy.com:PORT#", webdriver-manager always downloads the latest chromdriver binaries instead of a compatible version as per the current Chrome Version.
Please help me if there is a way to determine the chrome version automatically and download the corresponding Chrome binaries.
I have tried to search for similar behavior and forums elsewhere but none of the commands work. Instead it always downloads the latest version of chromedriver binaries instead of a compatible one.
Please help with some sample code in-case you come through a solution to this.
You could run a sh prior to starting your tests that will determine wether the chromedriver needs to be updated:
#!/bin/bash
# get existing chromedriver version
EXISTING_CD_VERSION=$(node_modules/.bin/chromedriver -version | egrep -o '(\d+)\.(\d+)\.(\d+)')
# get installed Google Chrome version
CHROME_VERSION=$(/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version | egrep -o '(\d+)\.(\d+)\.(\d+)')
if [ "$EXISTING_CD_VERSION" = "$CHROME_VERSION" ]; then
echo "ChromeDriver version matches the Google Chrome version"
else
NEW_CD_VERSION=$(curl https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION)
node_modules/.bin/webdriver-manager update --versions.chrome $NEW_CD_VERSION
fi
NOTE: The script above is getting the Google Chrome version from a MacOS system. If you're on Linux, you need to change that to google-chrome --version
https://github.com/angular/webdriver-manager/blob/legacy/docs/versions.md
webdriver-manager start --versions.chrome 87.0.4280.88
you can use --versions.chrome to specify the driver version
what you actually need to do is to match a version of your local chrome to the version of chromedriver. So
First, find out what your version of chrome is. From example it is 86.0.4240.111
Then, find out what chromedriver version can be used. Take the major version of the browser (first 3 numbers, 86.0.4240 in our case) and find the corresponding version of the driver by going to this url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_VERSION} (put the major browser version instead of ${CHROME_VERSION}). You'll see the chromedriver you're looking for is 86.0.4240.22
then just update webdriver specifying the desired version of chromedriver
webdriver-manager update --gecko=false --versions.chrome $VERSION
Make sure to put 86.0.4240.22 instead of $VERSION
But it maybe tricky here because there are 2 installation of protractor usually:
local
global
and each has it's own webdriver-manager. So make sure you're updating the right one
Thus you may need to go to it's folder and from that folder run npm i webdriver-manager#latest and then node ./bin/webdriver-manager update --gecko=false
when you updated the right webdriver, install the right chromedriver like so
node ./bin/webdriver-manager update --gecko=false --versions.chrome $VERSION

How to update Chromium version on a cloned repository?

I have the latest version of Chromium installed globally, but right now I'm working on a cloned repository which has in node_modules\puppeteer\.local-chromium\win64-756035\chrome-win folder an older version of Chromium, and because of that I can't run e2e tests. How can I update it? I've tried to run the webdriver-manager update command but it doesn't work.
This is the error shown:
```E/launcher - session not created: This version of ChromeDriver only supports Chrome version 87
Current browser version is 83.0.4103.0 with binary path C:\Users\.....\Documents\.....\.....\node_modules\puppeteer\.local-chromium\win64-756035\chrome-win\chrome.exe
(Driver info: chromedriver=87.0.4280.20 (c99e81631faa0b2a448e658c0dbd8311fb04ddbd-refs/branch-heads/4280#{#355}),platform=Windows NT 10.0.19041 x86_64)```
Each release of puppeteer will install a specific version of Chromium in a directory similar to the path you posted. You can find out which version of Chromium will come with a version of puppeteer in their release notes.
webdriver-manager update will try to install the latest available version of the Chromium webdriver, I believe by checking the catalog of available versions, or more specifically https://chromedriver.storage.googleapis.com/LATEST_RELEASE. (Today, that's 91.0.4472.101). That version almost certainly won't correspond to the exact version of Chromium installed by puppeteer. You need to manually specify which version of the webdriver you want webdriver-manager to install by passing the flag --versions.chrome=x.y.z.
(My personal problem is that the webdriver catalog linked above does not actually include a webdriver for the release bundled with any of the recent puppeteer releases, so I'm sticking with v6.0.0 for now.)

Mobile Emulation >> Element is not clickable - after updating chrome browser and chrome driver to latest version

I am using Chrome Mobile Web Emulation.
Issue:
After updating chrome and chromedriver, click functionality is stopped working.
Stack-trace:
Not available, no exception or error is thrown.
Chrome version: Version 67.0.3396.62 (Official Build).
ChromeDriver: Version 2.39
Selenium: Version 3.12.0
Issue resolved after updating Chromedriver to 2.40.
They provide a version upgrade patch 2.40, just 7 day after releasing 2.39 version.