我在Cypress和wait命令上遇到了一些问题: 我正在使用类似于以下代码:
const counter = cy.get('something')
counter.contains('0') //OK
const container = cy.xpath('something multiple').children()
container.click({multiple:true})
//cy.wait(200)
counter.contains('3') //NOK
仅当我使用cy.wait()
时,此代码有效。我试图使用内部超时代码
它不起作用。仅在使用cy.wait时有效。
答案 0 :(得分:1)
不建议将Elements保存在变量中,请改用Alise。
cy.get('something').as('counter');
cy.get('@counter') .....
阅读文档以供参考: https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html
答案 1 :(得分:0)
@HatemHatamleh关于不使用返回值是正确的。
使用cy.*()
命令定义命令执行步骤,这些步骤将在测试中与JS分开运行。
插入cy.wait()
之类的方法之所以可行,是因为它允许执行命令的时间,但是这样做根本不正确,因为它可能会失败,具体取决于cpu负载,异步调用等。
将命令视为一个单独的“线程”,请尝试通过链接定义它们,但是在不可能的情况下,请使用@HatemHatamleh建议的别名“。