在我的柏樹測驗中,我希望將時鐘設定為特定時間,以便為每次測驗提供一致的時間框架。
當我打電話時:
cy.visit('/path/to/page');
cy.get('#elementId').click();
一切皆好。
但是,當我這樣做時:
cy.clock(Date.now());
cy.visit('/path/to/page');
cy.get('#elementId').click();
我收到以下錯誤:
This element `<button with Id i want to click>` is not visible because its parent `<body>` has CSS property: `display: none`
當我不向cy.clock(). 為什么cy.clock()將此頁面的正文設定為不可見?我該如何避免這種情況?
uj5u.com熱心網友回復:
該cy.clock()命令覆寫并凍結與計時器相關的 javascript 函式 - setTimeout、setInterval 以及 Date 物件。
看起來您的應用在加載期間使用了 setTimeout 并且一些初始 javascript 未完成。
嘗試將 a 添加cy.tick()到命令序列
cy.clock(Date.now());
cy.visit('/path/to/page');
cy.tick(1000); // try longer and shorter timings
cy.get('#elementId').click()
uj5u.com熱心網友回復:
您如何為元素提供一個自定義輸出,使其先可見,然后再顯示click()。
cy.get('#elementId', {timeout: 6000}).should('be.visible').click()
或者,您也可以{force: true}在想要單擊隱藏元素的情況下使用。
cy.get('#elementId', {timeout: 6000}).should('be.visible').click({force: true})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/462578.html
標籤:javascript css 测试 柏 柏树时钟
