霍格沃兹测试开发学社
07-03 · 北京测吧
从同步依赖到并行自治的进化之路(三)
进阶:分片(Sharding)——当单机不够用时当测试数量继续增长,单台机器的资源终归是有限的。这时候可以考虑分片(Sharding)——把测试分摊到多台机器上跑。# 4 台机器各跑四分之一npx playwright test --shard=1/4npx playwright test --shard=2/4npx playwright test --shard=3/4npx playwright test --shard=4/4在 CI 里可以这样配置:# GitHub Actionsjobs:test-shard: strategy: matrix: shard-index:[1,2,3,4] shard-total:[4] runs-on:ubuntu-latest steps: -run:npxplaywrighttest--shard=${{matrix.shard-index}}/${{matrix.shard-total}}开了 fullyParallel: true 之后,分片会更均匀,因为拆分粒度从文件级别降到了测试级别。还有几个容易忽略的坑1. 硬等待是隐形杀手很多人习惯了用 waitForTimeout 等固定时间:// ❌ 不管实际需要多久,都等 5 秒await page.waitForTimeout(5000);正确的做法是等待具体的条件:// ✅ 等元素出现await page.locator('.data-loaded').waitFor({ state: 'visible' });// ✅ 等 API 请求完成const responsePromise = page.waitForResponse('/api/data');await page.click('#load-data');const response = await responsePromise;硬等待不仅慢,而且不稳定——网络快了浪费时间,网络慢了照样失败。
发布于 北京
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn