由于我正在处理承诺,因此我一直在努力从自定义函数返回值。谁能帮我这个?非常感谢。 这是我的代码:
这是我的自定义功能:
Cypress.Commands.add("myFunction", () => {
cy.get('#someID').then($container) => {
const isHidden = $container().children('div:nth-child(3)').is(':hidden');
console.log(isHidden); // This returns either true or false and that is good
return isHidden; // this returns $chainer but I want to return either true or false
}
});
这是我的测试套件:
context('some description', () => {
before(function(){
const result = cy.myFunction();
console.log(result); // This is $chainer, but I want to get the value of true or false from isHidden variable
});
});
答案 0 :(得分:0)
我正在使用 cy.wrap
(请参阅 https://docs.cypress.io/api/commands/wrap/#Syntax)执行此操作,它返回 Cypress.Chainable,允许您将 then
与结果一起使用。
Cypress.Commands.add('myFunction', () => {
return cy.wrap('myResult');
}
cy.myFunction.then((text) => {
console.log(text); // myResult
}