-
Notifications
You must be signed in to change notification settings - Fork 918
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Functional testing chrome/chromedriver versions incompatibility #3716
Comments
Hello @curq, Unfortunately, we did not do a good job at documenting this. Due to the number of different environments that our tests run on there could be a number of different versions. There can be an improvement to utilize the correct chromedriver but as a mitigation you can run the following:
This will install the appropriate driver for your environment but will cause a diff in your packages. Please unstage those changes once you are ready for review. Apologies, I know that can feel frustration when developing. I think this issue can be repurposed to bump the version to ideally the latest or we enable the Selenium tests to call this script to run if needed and bootstrap. Then restore the previous version. But I can see that becoming too slow in an already slow enough test suite. The least we can do is document this workaround in our developer guide until the migration to cypress is complete. Thoughts @ananzh @joshuarrrr ? |
Thanks @kavilla I agree. Hey @curq, thanks for opening this issue. I think we have a PR before that may solve this issue: #2990 This PR is designed to allow you upgrade the chromedriver version within the node_modules directory so that you can use the updated version that matches your installed Google Chrome. So you run the script using the following command:
Replace scripts/upgrade_chromedriver.js with the path to the script file. Use the --install flag if you want to directly install the matching chromedriver version using the yarn add command. If the flag is not provided, the script will attempt to modify your package.json file to update the chromedriver version. If you didn't use the --install flag and the script successfully modified your package.json file, you'll need to run If you want to test, in the upgrade_chromedriver.js script, you could comment out or remove the following block of code that tries to execute the version check commands:
Replace the removed block with a line that sets the
From what I observe, it could update my package.json |
I am currently working on this issue #3700 which is to use VNC viewer to allow users to see browser interactions of the functional test if they use docker. I will add instructions to the docker instruction to update chromedriver. If you think there are other good places that even benefit non-docker users, pls create a PR to add more instructions. |
Thank you @ananzh @kavilla, I have tried your solutions and they both work without problems. |
Describe the bug
The current version of dashboards uses chromedriver version 107, while the current latest chrome version is 111.
When the latest version of chrome is installed on the system there is incompatibility between google-chrome and chromedriver, which prevents selenium from running functional tests.
To Reproduce
Steps to reproduce the behavior:
yarn test:ftr
Expected behavior
Functional tests start without problems. My suggestion is to add requirement for the specific version (107 in this case) of chrome in testing manual.
Dashboards Version
2.6.0
Host/Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: