gpt4 book ai didi

javascript - Cypress - 模拟窗口属性

转载 作者:行者123 更新时间:2023-12-04 14:48:08 25 4
gpt4 key购买 nike

我有一个使用 window.foo.abc 作为条件来显示某些内容的代码。
我想用 cypress 测试这个功能,我想把这个值模拟为 false 和 true。
我怎样才能做到这一点?
我试过了

 before(function() {
Cypress.on('window:before:load', win => {
win.foo.abc = true;
});
  cy.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

cy.window().then(win => {
win.foo.abc = true; // correct the syntax here as well
})

关于javascript - Cypress - 模拟窗口属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69606968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com