首页 > 解决方案 > Npm cypress:在 foreach 中使用固定装置?

问题描述

我喜欢使用 cypress 进行前端测试,但是在编写了很多非常简单的测试之后,我试图过度使用它。

cypress/fixtures/login.json我在 in和in部分中定义了固定装置,initialize以在 it() 部分中将其用作“this.login.KEY”。运行完美。cy.fixture("login").as("login)beforeEach()

但是可以直接在beforeEach()section中使用这些fixture吗?

例子:

context('description one', function() {
    beforeEach(function(){
        cy.fixture("login").as("login");
        -> here I would like to use fixture like
        -> cy.visit("/");
        -> cy.get('#password').type(this.login.password);
    });
    it('sub-description', function() {
        cy.get(#firstName).type(this.login.userFirstName);
         ...
    })
});

标签: cypress

解决方案


我也遇到了this.myFixture不工作的麻烦。尝试像这样使用它:

context('description one', function() {
    beforeEach(function(){
        cy.fixture("login").then(login => {
            cy.visit("/");
            cy.get('#password').type(login.password);
    });
    it('sub-description', function() {
        cy.fixture("login").then(login => {
            cy.get(#firstName).type(login.userFirstName);
         ...
    })
});

推荐阅读