我正在为用Electron编写的应用程序编写E2E测试。我需要测试一个按钮,该按钮实际上会调用shell.openExternal('link')
,其中link
是外部网站。我一直在Webdriver文档中寻找允许测试拦截此调用的内容,但看起来根本不像API中存在的任何内容。
1)如果确实存在类似的东西,我在文档中错过了它,请以力量的一面启发我,
2),如果不是,那么stackoverflow领域中的任何人都可以解决问题吗?
非常感谢!
我想出了一个答案。我没有试图拦截点击,而是在主应用程序中添加了一个env var,这样在设置时,点击将在日志中添加一个条目,而不是实际在浏览器中打开外部链接。然后,我使用spectron
中的API绘制渲染过程日志:https://github.com/electron-userland/spectron#clientgetrenderprocesslogs然后,我只需要在日志中查找自定义字符串即可判断是否存在正确的文本。