首页 > 解决方案 > 如何使用 Spectron 测试电子浏览器

问题描述

我正在尝试测试我公司的 Electron 构建浏览器https://github.com/maidsafe/safe_browser但遇到了一些挑战,我正在寻求支持/指导。

经过大量研究,我似乎基本上有两个选择——使用 Spectron 作为测试框架或使用 Selenium 和 Chromedriver。我找到了一种通过使用 Chrome 选项并提供浏览器可执行文件的路径来使用 Selenium 的自定义二进制文件的方法,并认为我是赢家,但我遇到了一个主要问题 - 我可以启动浏览器,但我尝试了任何交互(使用我之前使用 Selenium Java 学习的“典型”测试自动化方法)失败:

例如WebElement secret = driver.findElement(By.cssSelector("#acc-secret"));

行不通-我得到了

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#acc-secret"}

我还尝试通过 Id 和 xpath 与元素进行交互——这些都不起作用。我尝试了findElement具有不同屏幕元素的不同方法,但无法正常工作。

所以,我暂时放弃了这种方法——如果这种方法可行,那将是理想的,因为我的自动化经验在于 Selenium Java。不过没关系,我很高兴学习新东西,所以我研究了 Spectron。

但是,我发现有关 Spectron 的文档/博客文章难以消化——我是一名测试人员而不是一名开发人员,虽然我在技术上胜任,但我发现这里的假设知识水平比我目前拥有的要高。另外,这一切似乎都是我一无所知的Javascript。(这就是为什么我希望能够走我熟悉的 Selenium 路线。)

我想做的是创建一套独立于浏览器代码库的测试,我们(QA 团队)可以在其中构建例如页面对象模型和相关的测试用例。

任何想法/建议/指导将不胜感激,因为我觉得我目前还没有真正走远!

标签: testingautomated-testselectronspectron

解决方案


您没有收到此类元素错误。

检查以下几点。

  1. 确保您聚焦正确的窗口。

  2. 确保您拥有正确的定位器。

  3. 您是否一直打开开发工具窗口。

为了确认,只需获取页面标题并打印即可。


推荐阅读