【发布时间】:2019-03-05 16:41:39
【问题描述】:
我正在尝试测试我公司的 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 团队)可以在其中构建例如页面对象模型和相关的测试用例。
任何想法/建议/指导都将不胜感激,因为我觉得我目前还没有走得太远!
【问题讨论】:
-
希望这会有所帮助。 stackoverflow.com/a/51186740/8903949
-
谢谢,但当我说我可以让 Selenium 启动浏览器但无法与 Web 元素交互时,这就是我所尝试的。
标签: testing automated-tests electron spectron