从另一个赛普拉斯测试文件调用赛普拉斯测试
Calling Cypress tests from another Cypress test file
我正在编写一些 Cypress 测试来测试帐户删除功能。由于测试将在每次 运行 时删除一个帐户,因此我首先要创建一个帐户。我已经有一个用于创建帐户的测试文件。
describe("Create Email User", () => {
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
it("Clicks to Create New User", () => {
cy.visit("/signin");
cy.get('[data-cy="login-main-sign-up-link"]').click();
cy.get('[data-cy="sign-in-content-top-header-text"]').should(
"contain",
"Create your account"
);
});
it("Enters Form Data", () => {
cy.get('[data-cy="sign-up-name-first-name-input"]').type("John");
cy.get('[data-cy="sign-up-name-last-name-input"]').type("Smith");
const newEmail = createEmail();
cy.get('[data-cy="sign-up-name-email-input"]').type(newEmail);
cy.get('[data-cy="sign-up-name-password-input"]').type("test123!");
cy.get('[data-cy="sign-up-name-next-button"]').click();
cy.get('[data-cy="sign-up-phone-header-text"]').should(
"contain",
"What's your phone number?"
);
});
it("Reloads the page and clicks next button", () => {
cy.reload();
cy.get('[data-cy="sign-up-onboarding-intro-header-text"]').should(
"contain",
"Great! Let's set up your account"
);
cy.get('[data-cy="sign-up-onboarding-next-button"]').click();
cy.get('[data-cy="sign-up-role-wizard-header-text"]').should(
"contain",
"What role best describes you?"
);
});
it("Selects Family/Friend role and clicks next button", () => {
cy.get('[data-cy="sign-up-role-wizard-Family/Friend"]').click();
cy.get('[data-cy="sign-up-role-wizard-next-buton"]').click();
cy.get('[data-cy="sign-up-base-header-text"]').should(
"contain",
"Do you know which base your trainee is going to?"
);
});
it("Selects No button and clicks next button", () => {
cy.get('[data-cy="sign-up-base-no-button"]').click();
cy.get('[data-cy="sign-up-base-next-button"]').click();
});
});
现在我正在进行帐户删除测试。我想先调用创建帐户测试,以确保有一个帐户要删除。
如何从另一个测试文件调用一个测试文件到 运行?
尝试在 cypress 中使用自定义命令,以便登录功能也可以用于其他测试
参考https://docs.cypress.io/api/cypress-api/custom-commands#Syntax
它看起来像是测试设置和清理的过程,很大程度上取决于您想要实现的目标。
您肯定想要:
- 将其移动到
support/commands.js
中的自定义 Cypress 命令中
- 创建一个可以在
before()
或 beforeEach()
中调用的效用函数,并将它们放在最适合项目的地方
我正在编写一些 Cypress 测试来测试帐户删除功能。由于测试将在每次 运行 时删除一个帐户,因此我首先要创建一个帐户。我已经有一个用于创建帐户的测试文件。
describe("Create Email User", () => {
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
it("Clicks to Create New User", () => {
cy.visit("/signin");
cy.get('[data-cy="login-main-sign-up-link"]').click();
cy.get('[data-cy="sign-in-content-top-header-text"]').should(
"contain",
"Create your account"
);
});
it("Enters Form Data", () => {
cy.get('[data-cy="sign-up-name-first-name-input"]').type("John");
cy.get('[data-cy="sign-up-name-last-name-input"]').type("Smith");
const newEmail = createEmail();
cy.get('[data-cy="sign-up-name-email-input"]').type(newEmail);
cy.get('[data-cy="sign-up-name-password-input"]').type("test123!");
cy.get('[data-cy="sign-up-name-next-button"]').click();
cy.get('[data-cy="sign-up-phone-header-text"]').should(
"contain",
"What's your phone number?"
);
});
it("Reloads the page and clicks next button", () => {
cy.reload();
cy.get('[data-cy="sign-up-onboarding-intro-header-text"]').should(
"contain",
"Great! Let's set up your account"
);
cy.get('[data-cy="sign-up-onboarding-next-button"]').click();
cy.get('[data-cy="sign-up-role-wizard-header-text"]').should(
"contain",
"What role best describes you?"
);
});
it("Selects Family/Friend role and clicks next button", () => {
cy.get('[data-cy="sign-up-role-wizard-Family/Friend"]').click();
cy.get('[data-cy="sign-up-role-wizard-next-buton"]').click();
cy.get('[data-cy="sign-up-base-header-text"]').should(
"contain",
"Do you know which base your trainee is going to?"
);
});
it("Selects No button and clicks next button", () => {
cy.get('[data-cy="sign-up-base-no-button"]').click();
cy.get('[data-cy="sign-up-base-next-button"]').click();
});
});
现在我正在进行帐户删除测试。我想先调用创建帐户测试,以确保有一个帐户要删除。
如何从另一个测试文件调用一个测试文件到 运行?
尝试在 cypress 中使用自定义命令,以便登录功能也可以用于其他测试
参考https://docs.cypress.io/api/cypress-api/custom-commands#Syntax
它看起来像是测试设置和清理的过程,很大程度上取决于您想要实现的目标。
您肯定想要:
- 将其移动到
support/commands.js
中的自定义 Cypress 命令中
- 创建一个可以在
before()
或beforeEach()
中调用的效用函数,并将它们放在最适合项目的地方