如何使用Spectron测试电子浏览器

时间:2019-03-05 16:41:39

标签: testing automated-tests electron spectron

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

经过大量研究,似乎我基本上有两个选择-使用Spectron作为测试框架或使用带有Chromedriver的Selenium。我找到了一种方法,可以使用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团队)可以在其中构建页面对象模型和相关的测试用例。

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

1 个答案:

答案 0 :(得分:0)

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

检查以下几点。

  1. 确保将焦点对准了正确的窗口。

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

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

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