Spectron:如何测试Electron'shell.openExternal('some url')`

问题描述 投票:0回答:1

我正在为用Electron编写的应用程序编写E2E测试。我需要测试一个按钮,该按钮实际上会调用shell.openExternal('link'),其中link是外部网站。我一直在Webdriver文档中寻找允许测试拦截此调用的内容,但看起来根本不像API中存在的任何内容。

1)如果确实存在类似的东西,我在文档中错过了它,请以力量的一面启发我,

2),如果不是,那么stackoverflow领域中的任何人都可以解决问题吗?

非常感谢!

node.js automated-tests electron spectron
1个回答
0
投票

我想出了一个答案。我没有试图拦截点击,而是在主应用程序中添加了一个env var,这样在设置时,点击将在日志中添加一个条目,而不是实际在浏览器中打开外部链接。然后,我使用spectron中的API绘制渲染过程日志:https://github.com/electron-userland/spectron#clientgetrenderprocesslogs然后,我只需要在日志中查找自定义字符串即可判断是否存在正确的文本。

© www.soinside.com 2019 - 2024. All rights reserved.