问题标签 [spectron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1145 浏览

testing - Spectron:启动应用程序后无法与电子应用程序上的元素交互

我可以使用 Spectron 启动电子应用程序,但无法对其执行任何操作。

操作系统:Windows 8.1

节点版本:10.16.0

光谱:3.8.0

包.json 文件:

我无法与元素交互并将错误视为

1) 测试套件登录:错误:超过 20000 毫秒的超时。对于异步测试和钩子,确保调用了“done()”;如果返回 Promise,请确保它已解决。(D:\spectron-example\Spec.js)

即使我增加超时仍然看到这个超时错误。

如何解决这个问题?

我的问题是

我们可以在没有开发代码库的情况下开始编写自动化脚本吗?因为在大多数示例测试中,我看到自动化脚本在开发代码的测试文件夹中可用。

我在启动时有 .exe,我可以看到应用程序正在启动但无法执行操作。是否需要将 .exe 文件提供给 QA,以便在启用/禁用任何特定包和选项的情况下实现自动化。

Ideal Electron、Spectron、Nodejs、Wdio、Mocha 兼容的版本有哪些?

提前致谢。

0 投票
0 回答
469 浏览

selenium-webdriver - 如何在不使用源代码的情况下为 vs 代码扩展编写 UI 自动化测试

我正在尝试编写 UI 自动化脚本来执行 vs 代码扩展的自动化测试。在阅读了关于 spectron/ vs code test 的教程后,我发现他们都需要源代码来执行测试。我正在尝试从 QA 方面执行,因此我在我的 vs 代码上安装了扩展,但现在我需要执行自动化。

我可以使用 selenium-webdriver 启动 vs code 并打开扩展,但无法访问在 vs code web 视图下加载的元素。VS 代码隐藏了扩展的 web 元素,因此 selenium-webdriver 找不到这些元素。

代码应该能够找到网络驱动程序并完成测试。

0 投票
1 回答
1123 浏览

testing - 带有 mocha 和 chai 的 Spectron 不起作用

我正在尝试使用 Spectron 为我们的 Electron 应用程序编写测试,但我遇到了设置问题。我使用带有 chai 的经典设置。我有一个包含设置代码的文件:

然后是测试本身:

我的问题是我总是得到这个错误:

所以看起来应用程序没有启动。但事实并非如此。应用程序窗口打开,但测试似乎无法识别。我已经尝试过使用各种语法更改路径。但没有任何效果。我错过了什么?

0 投票
1 回答
621 浏览

docker - 使用 Spectron 进行 E2E 测试电子 - Docker Windows

我正在在 Electron 中运行的应用程序中进行 E2E 测试,为了使其能够在 Jenkins 的管道中运行,我将它放在运行 Windows 服务(构建版本 1903)映像的 docker 容器中。问题是 chrome 驱动程序在容器内崩溃。

我正在使用这些依赖项(Spectron 和电子):

我收到了这个错误:

另一点是,这可以在版本 1803 的 Windows 容器中工作,但不幸的是,我无法使用该版本,因为 Jenkins 机器使用的是 Windows 的最新版本(1903)。

0 投票
0 回答
374 浏览

spectron - Spectron 中 app.client.setValue 的任何解决方法?

在我的测试中,我用方法填充输入字段(Ant.Design https://ant.design/components/input/app.client.setValue( selector, value )。根据https://github.com/electron-userland/spectron它应该是 Selenium Webdriver 的方法。Ans 它在这里说https://webdriver.io/docs/api/element/setValue.html mehtod 会覆盖输入中的值。对我来说,它总是像addValue(意味着它在输入中的当前值之上发送键),我找不到解决方法。

之前setValue由于某种原因重置客户端上的输入不起作用...

0 投票
2 回答
1516 浏览

javascript - Spectron 中的点击功能不点击

我正在开发基于电子(-nuxt)的应用程序。用 AVA + Spectron 重写的端到端测试。然而,该.click()功能似乎不起作用。

我使用了这个模板: https ://github.com/michalzaq12/electron-nuxt

除了单击一个简单的按钮外,一切似乎都有效。

我得到的信息是:

1 次测试失败

应用程序应该登录

错误:测试完成但没有运行任何断言

这是真的,因为没有任何断言。但是我可以看到该按钮从未被单击,因为这会触发来自应用程序的“登录失败”消息。

0 投票
0 回答
415 浏览

electron - 在使用 Spectron 进行电子测试时使用添加文件对话框

我想测试我的 Electron 应用程序,但我觉得这比我预期的要难!

从我环顾四周时看到的情况来看,使用打开文件对话框似乎是一件简单的事情!

有可能吗,还是我可以以某种方式模拟这种行为?

我的应用程序将选定的文件添加到文件列表中,并在网格中显示一些结果。如果我无法打开文件,我将无法获得网格并且无法测试它是否按预期运行。

如果我不能使用文件对话框,我应该如何解决这个问题?

这是我的测试设置:

这是 addFiles 方法:

0 投票
1 回答
653 浏览

node.js - Spectron:如何测试 Electron `shell.openExternal('some url')`

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

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

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

非常感谢!

0 投票
3 回答
2595 浏览

javascript - 带有光谱测试的电子应用程序的简单示例

我正在尝试学习如何测试应用程序,使用电子构建,使用 Spectron。为此,我从网络上获取了一个示例应用程序,其中包含一个简单的标题、计数器标签和增量按钮。

我使用 mocha 作为测试 runnen。

测试应该启动应用程序,按下按钮并检查计数器标签。

我什至无法正确启动应用程序。

我在运行测试时收到错误“TypeError: Cannot read property 'waitUntilWindowLoaded' of undefined”。

此外,在查看启动的应用程序时,我在 devtools 中看到一个错误:“未捕获的 ReferenceError:未定义要求”

main.js

索引.html

视图.js

包.json

./test/index.js

0 投票
2 回答
334 浏览

selenium - 使用 Spectron 或 selenium 测试基于电子的应用程序,从 cmd 启动 Electron 需要传递参数,如何传递参数?

我有基于电子的应用程序需要自动化,但启动 exe 需要传递参数,使用 spectron 或 selenium 进行自动化时如何传递参数?

这是启动 Electron 的 cmd: