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
[Feature] Split shards via test timing data #17969
Comments
This is the one thing that has made me hesitate switching from Cypress to Playwright despite the many advantages. Cypress Cloud solves this with their Smart Orchestration (specifically, the "Load Balancing" strategy). |
This is one of the major limitation of playwright. |
I would love to see this implemented in Playwright. It is a fairly common feature among other test platforms and tooling. |
I'd also love to see this feature. I thought of creating a PR with the following additions:
So far I tried to use the json reporter and extract this data from it which seems to work, but it's a bit messy because of the 'infinite' amount of suites that you need to go over. Not sure if I'd want to generate another smaller timing file from the json reporter, or just use the json report file and extract the data for it in the playwright runner. Based on my testing so far, we are able to create a pretty good balance for any amount of shards. Thanks. |
Playwright has some great default behavior around sharding tests across multiple workers. It would be super helpful if the shard can take in a
--timing-data
file similar to CircleCI's split tests logic so we can let Playwright internally split tests across the timing boundaries. This would allow Playwright to complete as fast as possible by splitting tests more optimally across multiple machines or workers.The text was updated successfully, but these errors were encountered: