【发布时间】:2022-01-02 06:25:34
【问题描述】:
如何解决?
赛普拉斯检测到您从命令返回了一个承诺,同时还 在该承诺中调用一个或多个 cy 命令。
返回承诺的命令是:
cy.visit()
你在 promise 中调用的 cy 命令是:
cy.setCookie()
/// <reference types="cypress" />
import { internet, name } from "faker";
import "cypress-localstorage-commands";
const email = internet.exampleEmail();
const password = internet.password();
const first_name = name.firstName();
const last_name = name.lastName();
let user;
before(function registerUser() {
cy.request("POST", "https://api.domain.io/api/users/", {
first_name: first_name,
last_name: last_name,
email: email,
password: password,
})
.its("body")
.then((res) => {
user = res;
});
});
beforeEach(function setUser() {
cy.visit("https://app.domain.io/projects/create", {
onBeforeLoad: (win) => {
cy.setCookie("token", user.token);
},
});
});
describe("JWT", () => {
it("create project", () => {
cy.get('[type="text"]').type("Autotest project");
cy.get('[type="submit"]').click();
});
});
【问题讨论】:
-
这能回答你的问题吗? How to set cookies within Cypress testing?
标签: javascript cypress autotest