【问题标题】:Spectron: how to test Electron `shell.openExternal('some url')`Spectron:如何测试 Electron `shell.openExternal('some url')`
【发布时间】:2019-11-19 03:48:04
【问题描述】:

我正在为一个用 Electron 编写的应用程序编写和 E2E 测试。我需要测试一个有效调用shell.openExternal('link') 的按钮,其中link 是一个外部网站。我一直在 webdriver 文档中寻找允许测试拦截这个调用的东西,但它看起来根本不像 API 中存在的东西。

1) 如果确实存在这样的事情并且我在文档中错过了它,请以力量的光明面的方式启发我,

2) 如果没有,那么在 stackoverflow 领域有没有人有一个奇特的解决方法?

非常感谢!

【问题讨论】:

    标签: node.js automated-tests electron spectron


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多