expect.toPass
PlaywrightではLocatorが見つからない場合は自動で待機してくれますが、そのLocatorのテキスト等が違う場合はテストが失敗してしまうことがありますが、expect.toPassを使用することでブロック内が合格するまでテストをリトライさせることができます。
以下の例は配列testListの長さが10になるまテストをリトライし、一定時間成功しないとタイムアウトになり失敗します。
await expect(async () => {
expect(testList.length).toBe(10);
}).toPass();
リトライのインターバルやタイムアウトは以下のように指定できます。
await expect(async () => {
expect(testList.length).toBe(10);
}).toPass({
intervals: [1000, 2000, 10000],
timeout: 60000
});
おわり