[英]Cypress - mocking window property
我有一個使用 window.foo.abc 作為條件來顯示某些內容的代碼。
我想用 cypress 測試這個功能,我想把這個值模擬為 false 和 true。
我怎樣才能做到這一點?
我試過了
before(function() {
Cypress.on('window:before:load', win => {
window.foo.abc = true;
});
和
Cypress.window().then(win => {
window.foo.abc = true;
});
沒有成功。
我怎樣才能模擬這個值?
謝謝🙏
此代碼不正確,
Cypress.on('window:before:load', win => {
window.foo.abc = true;
});
它應該是
Cypress.on('window:before:load', win => {
win.foo.abc = true;
});
您不必在before()
使用它,但它應該位於規范的頂部。
但我懷疑它在更正后仍然無法工作,很可能應用程序在加載期間將foo
重置為新對象,即在cy.visit()
期間
您可以使用第二個塊
cy.visit('...') // visit before changing
Cypress.window().then(win => {
win.foo.abc = true; // correct the syntax here as well
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.