- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Spectron 为我们的 Electron 应用程序编写测试,但我遇到了设置问题。我使用 chai 的经典设置。我有一个包含设置代码的文件:
const path = require("path");
const { Application } = require("spectron");
module.exports = {
initialiseSpectron: () => {
let electronPath = path.join(__dirname, "../../node_modules", ".bin", "electron");
if (process.platform == "win32") {
electronPath += ".cmd";
}
return new Application({
path: electronPath,
args: [path.join(__dirname, "../index.ts"), path.join(__dirname, "../../package.json")],
env: {
ELECTRON_ENABLE_LOGGING: true,
ELECTRON_ENABLE_STACK_DUMPING: true,
NODE_ENV: "development"
},
startTimeout: 10000,
chromeDriverLogPath: "../chromedriverlog.txt"
});
},
sleep: time => new Promise(resolve => setTimeout(resolve, time))
};
然后是测试本身:
const chaiAsPromised = require("chai-as-promised");
const chai = require("chai");
chai.should();
chai.use(chaiAsPromised);
const testHelper = require("./initialise");
const app = testHelper.initialiseSpectron();
// Setup Promises and start Application
before(() => app.start());
// Tear down App after Tests are finished
after(() => {
if (app && app.isRunning()) {
return app.stop();
}
});
describe("Login", () => {
it("opens a window", function() {
return app.client
.waitUntilWindowLoaded()
.getWindowCount()
.should.eventually.equal(1);
});
it("tests the title", () =>
app.client
.waitUntilWindowLoaded()
.getTitle()
.should.eventually.equal("VIPFY"));
});
我的问题是我总是得到这个错误:
1) "before all" hook in "{root}"
0 passing (2s)
1 failing
1) "before all" hook in "{root}":
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
所以看起来应用程序没有启动。但事实并非如此。应用程序窗口打开,但测试似乎无法识别。我已经尝试使用各种语法更改路径。但没有任何效果。我错过了什么?
最佳答案
您是否尝试过增加 mocha 的超时时间?
有时我第一次失败,然后第二次尝试。
在此处查看 Electron 6 的工作示例:
关于testing - 带有 mocha 和 chai 的 Spectron 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58339543/
在执行期间,spectron 打开两个空白的终端窗口。第一个窗口是我想要的应用程序,其他窗口看起来像终端,里面没有任何东西。 目前我使用 focus() 聚焦到第一个窗口。 Github 问题链接:h
我尝试使用以下命令安装Spectron: npm install --save-dev spectron 但我收到此错误消息: npm ERR! Windows_NT 6.1.7601 npm ER
我只使用基本的 Spectron 测试文件(在 Typescript 中)打开我的应用程序,获取窗口计数,然后大概退出。然而,Spectron 的 app.stop()似乎只是关闭了开发工具窗口并让主
我正在使用 Spectron 测试 Electron 应用。我在文档示例中找到了有关如何获取窗口数量的信息,这非常简单。但是我正在寻找的是如何在单击另一个元素后检查一个元素的状态。在这里,我试图检查应
我正在使用 React 开发一个 Electron 桌面应用程序。尝试为代码的电子端设置测试。 我有一个 Launch.test.js 文件,我正在尝试用 Jest 测试 Spectron。 当我运行
我正在开发一个 Electron 应用程序。主进程打开第一个渲染器 (browserWindow)。当用户单击按钮时,此渲染器会向主进程发送一条 IPC 消息。收到此消息后,主进程将打开第二个不同的渲
我可以使用 Spectron 启动 Electron 应用程序,但无法对其执行任何操作。 操作系统:Windows 8.1 节点版本:10.16.0 Spectron:3.8.0 var Applic
我正在尝试在测试方面测试 Electron 的 Spectron,但在学习教程时,每当我运行 npm run test:e2e 时,我都会收到此错误消息。我的测试文件语法正确,但我不确定为什么我在编译
我想在我的存储库(https://github.com/DWboutin/jest-spectron-ts)中创建测试,但似乎都可以,但是我无法在测试中访问Application.client API
我正在尝试使用 Spectron 测试 Electron 应用程序。但我无法测试客户端窗口 javascript 全局变量。这是我的简化代码。请帮我。谢谢。 index.html
我正在使用 Spectron 测试基于 React 的 Electron 应用程序。我想选择一个 React 组件,我正在尝试为此访问 WebDriverIO 的浏览器并调用 react$,但是找不到
最近我发现使用 Electron 为我们的应用程序规划自动化测试有些困难。我尝试使用 Spectron,它看起来像是测试 Electron 应用程序的官方框架,但是,我发现他们网站上的文档很难理解。
我正在为用Electron编写的应用程序编写E2E测试。我需要测试一个有效调用shell.openExternal('link')的按钮,其中link是外部网站。我一直在Webdriver文档中寻找允
我有一个 Electron 应用程序,它首先启动一个启动器窗口(在渲染器进程中),它启动多个后台服务。在这些后台服务成功启动后,它会发送 "services-running"在其ipcRenderer
我正在使用 Spectron、mocha 和 chai-as-promised 进行测试。我的 IDE 是 Visual Studio Code。 我从测试中启动应用程序,如下所示: this.app
我正在尝试使用 Spectron 框架为 Electron 中实现的应用程序编写一些测试。当我的应用程序正确启动后,我想发送一个它已准备就绪的事件。我做了类似的事情 在应用程序中:我尝试这两个 ele
Electron v1.8.2 Spectron v3.8.0 添加光谱测试,但即使是非常基本的测试也会失败。 尝试运行: const { Application } = require('spect
我正在使用spectron针对我的 Electron 应用程序运行集成测试。除了尝试测试应用程序设置在应用程序重新启动之间是否正确保留之外,一切都工作正常。 运行测试时,我的应用程序会为每个测试启动新
我正在尝试使用 Spectron 为我们的 Electron 应用程序编写测试,但我遇到了设置问题。我使用 chai 的经典设置。我有一个包含设置代码的文件: const path = require
我们如何断言嵌入在 HTML 中的 javascript 变量在使用 electron 构建的应用程序中具有一些预期值?目前测试框架有spectron、mocha、chai、chai.should()
我是一名优秀的程序员,十分优秀!