我对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,但没有效果。 我也试过用。然后(。。。),也是无济于事。
我没有正确地发现/理解什么?
谢谢:)
如果您创建了自定义命令,这意味着您必须像Cypress中的任何其他命令一样使用:cy.[command]
因此,它应该与:
cy.want(myPage.ThirdElement, 'to equal', 'Fred') // want is the name of my custom command / function in the PO file