gpt4 book ai didi

oauth - 在 Cypress.io 中访问网络响应

转载 作者:行者123 更新时间:2023-12-05 08:31:43 27 4
gpt4 key购买 nike

我正在使用代码和隐式流测试 OpenID Connect 服务。我真的很想能够访问我从服务返回的消息,尤其是具有 ID token 的 303 See Other 消息。

如果有人可以就如何获取回复消息提出建议,我将不胜感激。由于服务公开了一个 HTML 登录页面,所以发生的是cy.get("#loginButton").点击()所以我不发送 cy.request(),那是因为我想使用前端测试登录。

最佳答案

您应该利用 cy.route , 它是如何工作的:

  • cy.visit之前你需要添加cy.server(),它允许Cypress拦截每一个请求
  • 您为登录请求添加一个别名
cy.route({
method: "POST",
url: '/auth/token' // this is just an example, replace it with a part of the real URL called to log in the user
}).as("route_login"); // that's the alias, we'll use in soon
  • cy.get("#loginButton").click() 命令之后,您可以等待登录请求的发生
cy.wait("@route_login").then(xhr => {
// you can read the full response from `xhr.response.body`
cy.log(JSON.stringify(xhr.response.body));
});

你的最终测试应该是这样的

it("Test description", () => {
cy.server();
cy.visit("YOUR_PAGE_URL");

cy.route({
method: "POST",
url: '/auth/token'
}).as("route_login");

cy.get("#loginButton").click();

cy.wait("@route_login").then(xhr => {
// you can read the full response from `xhr.response.body`
cy.log(JSON.stringify(xhr.response.body));
});

});

如果您需要更多帮助,请告诉我 😉

关于oauth - 在 Cypress.io 中访问网络响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com