Cypress:怎么从自定义命令中获取返回值?(柏树-承诺)
本教程将介绍Cypress:如何从自定义命令中获取返回值?(柏树-承诺)的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我正在寻找一种方法来获取自定义Cypress命令返回的返回值。
我当前使用的是Cypress和Cypress-Promise库(https://www.npmjs.com/package/cypress-promise)
目前结果为:
LOG1=CAR 1
log2=空
我的错误在哪里?
测试文件:
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();
});
推荐答案
为此,我使用wrap()
返回包含要返回的值的Chainable
。
模块
function foo() {
return cy.wrap('foo');
}
Cypress.Commands.add('foo', foo);
测试文件
cy.foo().then(value => console.log(value)); // foo
因为wrap()
返回Cypress.Chainable
,所以我们可以在命令上调用.then()
。传递给wrap()
的任何内容都将传递给下一个命令。
另请参阅:Cypress wrap() documentation
好了关于Cypress:怎么从自定义命令中获取返回值?(柏树-承诺)的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。