提问者:小点点

Cypress测试挂起与自定义命令,但不是如果使用函数在PO文件-我是什么错误?


我对Cypress还有点陌生,所以请原谅我的无知--但是。。。

我正在使用页面对象,并尝试使用我编写的一个自定义命令作为断言的包装器。 这个自定义命令将在多个测试和多个页面对象文件中使用,因此我不想在每个页面对象文件中复制它的代码。 但是! 如果我将完全相同的代码放入页面对象定义中,它工作得很好,如果我将它用作自定义命令,测试将挂起(经过的时间只是不断增加,但什么都没有发生)。。。 我正在做的一个粗略的说明:

myPage.myFirstElement.click()
myPage.mySecondElement.type('something')
myPage.want(myPage.ThirdElement, 'to equal', 'Fred') // want is the name of my custom command / function in the PO file

上述工作。 但是,如果我将“want”移动到自定义命令:

myPage.myFirstElement.click()
myPage.mySecondElement.type('something')
cy.want(myPage.ThirdElement, 'to equal', 'Fred') // want is the name of my custom command / function in the PO file

如上文所述,这将挂起。 我尝试在自定义命令定义中设置prevSubject,但没有效果。 我也试过用。然后(。。。),也是无济于事。

我没有正确地发现/理解什么?

谢谢:)


共1个答案

匿名用户

如果您创建了自定义命令,这意味着您必须像Cypress中的任何其他命令一样使用:cy.[command]

因此,它应该与:

cy.want(myPage.ThirdElement, 'to equal', 'Fred') // want is the name of my custom command / function in the PO file