-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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
Remove selenium-standalone; update Selenium.WebDriver #51775
Remove selenium-standalone; update Selenium.WebDriver #51775
Conversation
Hi @SteveSandersonMS. If this is not a tell-mode PR, please make sure to follow the instructions laid out in the servicing process document. |
Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at. |
{ | ||
"drivers": { | ||
"chrome": { | ||
"version" : "114.0.5735.90" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In theory we no longer have to configure this or keep updating it manually.
We do still have to update SeleniumWebDriverVersion
in Versions.props
on a regular cadence, since even though it can acquire newer ChromeDriver versions on its own, it still has to be an up-to-date Selenium.WebDriver
NuGet package in order to support those newer versions.
…eported correctly in CI" This reverts commit 9939858.
@wtgodbe I think this should go into Does that sound OK to you? Do we need shiproom approval to make a build-infra-only change? |
@SteveSandersonMS thanks steve! This is great! I was running into issues with the E2E tests crashing in the past in my other update attempts. |
Build infrastructure changes are tell-mode only |
Thanks @javiercn. The CI failure here is unrelated to this change, and it's tell-mode, so merging. |
/backport to main |
Started backporting to main: https://github.com/dotnet/aspnetcore/actions/runs/6708840327 |
@SteveSandersonMS backporting to main failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: Delete Selenium Standalone references
Using index info to reconstruct a base tree...
M src/Components/test/E2ETest/package.json
M src/Components/test/E2ETest/yarn.lock
Falling back to patching base and 3-way merge...
Removing src/Shared/E2ETesting/SeleniumStandaloneServer.cs
CONFLICT (modify/delete): src/Components/test/E2ETest/yarn.lock deleted in Delete Selenium Standalone references and modified in HEAD. Version HEAD of src/Components/test/E2ETest/yarn.lock left in tree.
Removing src/Components/test/E2ETest/scripts/sauce.ts
CONFLICT (modify/delete): src/Components/test/E2ETest/package.json deleted in Delete Selenium Standalone references and modified in HEAD. Version HEAD of src/Components/test/E2ETest/package.json left in tree.
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Delete Selenium Standalone references
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128 Please backport manually! |
@SteveSandersonMS an error occurred while backporting to main, please check the run log for details! Error: git am failed, most likely due to a merge conflict. |
Eliminates the Node-based selenium-standalone, and switches over to the newer Selenium Manager which has been built into Selenium since about a year ago.
In theory this should mean it takes care of acquiring an up-to-date version of ChromeDriver on its own. It also means we can remove a lot of code that was interacting with selenium-standalone to start and stop it.
I've also taken the opportunity to remove the redundant Sauce-related code from Components E2E, but left it alone for SignalR tests since it still seems to be used there.
Works fine locally, but let's see how it goes in CI... Update: It's passed all the E2E tests 3 times in a row (except the one I deliberately made fail to check that failures are reported) so it does seem good.