赛普拉斯:如何从自定义命令中获取返回值? (赛普拉斯承诺)

问题描述 投票:-1回答:1

我正在寻找一种方法来获取自定义赛普拉斯命令返回的返回值。

我目前正在使用Cypress和Cypress-promise lib(https://www.npmjs.com/package/cypress-promise

目前,结果是:log1 = CAR 1 log2 = null

我的错误在哪里?

测试文件:

it('Test 1', async function() {
     const carName = await promisify(cy.set_typeCarName());
     cy.log("log2 = " + carName );
});

模块:

set_typeCarName() {
     let carName = "CAR 1";
     cy.get('#newSiteCityInput').type(carName);
     cy.log("log1 = " + carName);
     return carName;
};

Cypress.Commands.add('set_typeCarName',() => {
    webnewsite.set_typeCarName();
});
javascript promise cypress
1个回答
1
投票

我想这就是你想要的:

TESTFILE

            cy.set_typeCarName()
                .then((returned_value) => {
                    cy.log("log2 = " + returned_value)
                })
            });

    Cypress.Commands.add('set_typeCarName',() => {
            let carName = "CAR 1";
            cy.get('#newSiteCityInput').type(carName);
            cy.log("log1 = " + carName);
            return carName;
    });

0
投票

该命令是否缺少return声明?

Cypress.Commands.add('set_typeCarName',() => {
  return webnewsite.set_typeCarName(); // I added the initial `return`
});
© www.soinside.com 2019 - 2024. All rights reserved.