testing - 如何使用 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 团队)可以在其中构建例如页面对象模型和相关的测试用例。
任何想法/建议/指导将不胜感激,因为我觉得我目前还没有真正走远!
解决方案
您没有收到此类元素错误。
检查以下几点。
确保您聚焦正确的窗口。
确保您拥有正确的定位器。
您是否一直打开开发工具窗口。
为了确认,只需获取页面标题并打印即可。
推荐阅读
- embed - 我可以将 A-Frame 场景嵌入到 Squarespace 中吗?
- java - 我无法在 Ubuntu 服务器上发送电子邮件 [javax.net.ssl.SSLHandshakeException]
- python - 在大于小于时获取 TypeError
- postgresql - Confluent JDBC Kafka在“table.whitelist”中连接来自不同模式的多个表
- r - 将数据帧拆分为最小 n 观察并为 R 中的所有行执行此操作
- android - Jetpack compose 中的共享元素转换
- swift - 带有图像包的 SPM 模块导致在 Xcode 12.5 中为自定义构建配置归档公平
- python - 404 HTTP 错误,尽管能够在浏览器中看到页面
- python - 运行 python setup.py 时如何选择编译器,包括标志
- javascript - 防止监听器触发