使用 waitForResponse 时 Playwright 测试失败
Playwright test fails when using waitForResponse
当我使用命令“page.waitForResponse”时,我的剧作家测试从未通过。尽管执行了 API 调用并且可以在 chrome 的网络选项卡中看到。我将笑话超时设置为 30000,但这似乎不是问题。
it("Test", async () => {
await page.goto("http://localhost:8080/")
await Promise.all([
await page.waitForResponse("https://development/my/call", {
timeout: 1000,
}),
page.click("css=body")
])
})
网络
url: https://development/my/call
Status: 200
Type: xhr
错误
Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error
问题可能出在您的问题中未包含的内容。
通常,您必须在导致调用的操作发生之前开始等待响应。假设操作是点击页面上的某处,然后您要输入:
await Promise.all([
page.waitForResponse("http://localhost:8060/my/call"),
page.click('.someButton'),
]);
试试这个,它可能会解决您的问题。
当我使用命令“page.waitForResponse”时,我的剧作家测试从未通过。尽管执行了 API 调用并且可以在 chrome 的网络选项卡中看到。我将笑话超时设置为 30000,但这似乎不是问题。
it("Test", async () => {
await page.goto("http://localhost:8080/")
await Promise.all([
await page.waitForResponse("https://development/my/call", {
timeout: 1000,
}),
page.click("css=body")
])
})
网络
url: https://development/my/call
Status: 200
Type: xhr
错误
Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error
问题可能出在您的问题中未包含的内容。
通常,您必须在导致调用的操作发生之前开始等待响应。假设操作是点击页面上的某处,然后您要输入:
await Promise.all([
page.waitForResponse("http://localhost:8060/my/call"),
page.click('.someButton'),
]);
试试这个,它可能会解决您的问题。