我有一堆功能文件,每个文件都有一堆场景。根据具体情况,前 2 或 3 个步骤对于每个场景都是相同的。
- 登录
- 导航到 X 页面
所以在一个 .feature 文件中,我有 10 个场景,我正在运行 20 个步骤,我可以只运行一次并执行所有测试。
用黄瓜可以吗?使用后台为每个场景执行步骤,我想为每个功能文件执行此操作。我所有场景的上下文。
顺便说一句,我正在使用 cypress-cucumber-preprocessor?但我认为是一样的。
我有一堆功能文件,每个文件都有一堆场景。根据具体情况,前 2 或 3 个步骤对于每个场景都是相同的。
所以在一个 .feature 文件中,我有 10 个场景,我正在运行 20 个步骤,我可以只运行一次并执行所有测试。
用黄瓜可以吗?使用后台为每个场景执行步骤,我想为每个功能文件执行此操作。我所有场景的上下文。
顺便说一句,我正在使用 cypress-cucumber-preprocessor?但我认为是一样的。
您是否尝试过使用 before/after ?就我而言,我想跳过在每个功能之前添加登录/注销步骤的部分。因此,我在 support/stepdefinitions/global.js 中执行了以下操作
before(() => {
cy.log(
"This will run once before all tests, you can use this to for example start up your server, if that's your thing"
);
cy.visit(Cypress.env("url") + "/login");
cy.fixture("login").then((inputdata) => {
cy.log("Login to application");
LoginPage.changeLanguage("en");
LoginPage.login(inputdata.username, inputdata.password, inputdata.pin);
});
cy.on("uncaught:exception", (err) => {
// expect(err.message).to.include('Ignoring error for now');
return false;
});
});
after(() => {
cy.log("Logout from application");
HomePage.clickUserDropdown();
HomePage.clickLogout();
});