Automated tests 在脚本加载之前从外部js监视函数-Cypress

Automated tests 在脚本加载之前从外部js监视函数-Cypress,automated-tests,cypress,chai,Automated Tests,Cypress,Chai,我正在为我的网站编写测试用例,它分别为不同的功能加载多个js文件 对于一个js文件,每当脚本加载时,都会有一个变量通过窗口对象公开,并且该对象有一个我想要监视的函数 我在页面上放置了一些div,一旦外部js加载,div就会调用我需要的spy函数,因此脚本加载后的任何spy尝试都会失败,因为这些函数是在spy注册之前执行的 例如。 有一个对象window.abc,一旦加载js文件abc.js,就会在其中填充abc 对象window.abc有一个函数triggerFunc,可以像window.abc

我正在为我的网站编写测试用例,它分别为不同的功能加载多个js文件

对于一个js文件,每当脚本加载时,都会有一个变量通过窗口对象公开,并且该对象有一个我想要监视的函数

我在页面上放置了一些div,一旦外部js加载,div就会调用我需要的spy函数,因此脚本加载后的任何spy尝试都会失败,因为这些函数是在spy注册之前执行的

例如。 有一个对象
window.abc
,一旦加载js文件
abc.js
,就会在其中填充
abc

对象
window.abc
有一个函数
triggerFunc
,可以像
window.abc.triggerFunc()
一样访问该函数

屏幕上有一些特定的div标签,看起来像

<div>
<script>
window.abc.triggerFunc()
</script>
</div>

window.abc.triggerFunc()
这些标记的放置方式使脚本在加载
abc.js
后立即执行

现在我想监视
triggerFunc
,并检查它被调用了多少次,以此类推

问题是,我不能在触发js文件之前使用spy,因为
window.abc
为空。 我无法在js加载后进行间谍,因为在注册间谍时,这些函数已经从页面执行,我无法对其进行任何断言

关于如何处理这个问题有什么想法吗

注意:很抱歉使用了模糊的术语,如
abc
triggerFunc
,但出于安全目的,我无法透露名称。我希望你能理解