簡體   English   中英

Cypress - 模擬窗口屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM