cypress 中“watchPosition”的存根

问题描述

我尝试将位置更改注入 JS/REACT 应用程序。在 window.navigator.geolocation.watchPosition 注册的应用程序。我的想法是存根“watchPosition”方法来获取回调函数的句柄。然后直接从应用调用回调函数。

喜欢:

    const watchPositionFake = (successCallback,errorCallback,options) => {
        console.debug("PROXY set callback watchPosition");
        originalWatchPositionSuccessCallback = successCallback;
    };

    cy.visit("/",{
        onBeforeLoad(win) {
            cy.stub(win.navigator.geolocation,"watchPosition").callsFake(watchPositionFake);
        }
    });

这不适用于 watchPosition 上的应用程序中的函数注册。但这确实适用于 cypress-step 文件中的函数。 (在 console.log 中工作,根据我通过 originalWatchPositionSuccessCallback 发送的值,我看到位置发生了变化。

知道谁来伪造职位变化吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)