赛普拉斯包含和cy.wait()

时间:2019-12-30 13:46:40

标签: testing cypress

我在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时有效。

2 个答案:

答案 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建议的别名“。