【发布时间】:2019-03-05 09:39:47
【问题描述】:
这是 cypress.io 中的关键思想并且不起作用(断言失败但测试成功)。完整代码如下。我曾多次尝试重写我的代码,但均未成功。安装了最新的 NPM,最新的 Node.JS。删除 node_modules 并重新安装依赖项。
/* eslint-disable no-undef */
describe("Contact us form", () => {
beforeEach(() => {
cy.visit("/");
cy.contains("Contact us").click();
cy.location().should(loc => {
expect(loc.pathname).to.eq("/contact-us");
});
});
it.only("Fill Contact us form - error 500", () => {
cy.server();
cy.route({
method: "POST",
url: "/api/v1/email/contact-us",
status: 500,
response: {}
}).as("sendMessage");
cy.getTestElement("ContactUs__form__container").within(() => {
cy.get("@users").then(users => {
const user = users.admin;
cy.get("#name")
.type(user.name)
.should("have.value", user.name);
cy.get("#email")
.type(user.email)
.should("have.value", user.email);
cy.get("#phone")
.type(user.phone)
.should("have.value", user.phone);
const message = Cypress.config("testVars").testMessage;
cy.get("#message")
.type(message)
.should("have.value", message);
});
cy.get("button:first").click(); // "Send message"
});
cy.wait("@sendMessage");
cy.get("#alert-dialog-description").contains("My App");
});
});
【问题讨论】:
标签: reactjs testing automated-tests cypress