剧作家会话信息未保存

问题描述 投票:0回答:1

我有一个赛普拉斯测试,它创建一个客户并获取保险报价。我已用几个 API 请求替换了此过程的 UI 步骤。第一个注册客户,第二个获取报价并返回报价参考。然后,我使用 URL 中的报价参考直接导航至付款屏幕。

我现在正在将此测试转换为 Playwright,并遇到一个问题,即它不会像 Cypress 那样导航到支付屏幕。我认为这与由 API 请求之一设置的 cookie 有关,并且会话数据的保存方式可能与 Cypress 中的方式不同。有谁能够提供任何建议,使其与 Cypress 一样工作吗?

session-cookies playwright
1个回答
0
投票

我设法弄清楚了。很抱歉原始问题中缺乏细节。我是一名测试人员,无法模拟 API 和测试站点以供其他人重现,因为我没有技能。

无论如何,问题是我发出的 API 请求如下:

const registerResponse = await request.post(*registerCustomerUrl*, {
    data: {
        *JsonBody*
    }
});

当我打开浏览器并导航到付款页面时:

await page.goto(*paymentPageUrl*)

它对请求上下文一无所知。

要修复此问题,我必须更改向 page.request 发出 API 请求的方式:

const registerResponse = await page.request.post(*registerCustomerUrl*, {
    data: {
        *JsonBody*
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.