Tests: reuse browser workers in BrowserStack tests #5428
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
I suggest reviewing #5427 first. Any more changes made there that might apply to
main
I will add here as well.--no-isolate
command flag to--isolate
. Now that browser instances are shared, it made more sense to me to default to no isolation unless specified. This turned out to be cleaner because the only place we isolate is in browserstack.yml.Rather than spinning up a separate browser instance for each module, we send back the next test's URL when a module completes, if there is one. Then listeners.js sets
window.location
. At first, I tried BrowserStack's change url API, but it was slower and incredibly error-prone.Sample BrowserStack run: https://github.com/timmywil/jquery/actions/runs/8123504592
Testing time has gone from 15-30min to 5min!
Checklist