处理使用Vue CLI Electron Plugin Builder创建的@vue/cli 4.2.2
项目。Vue CLI 使用目录中自动生成的HtmlWebpackPlugin。相关页面的 具有自动从文件中检测页面标题的语法。index.html
public
</title>
index.html
<%= htmlWebpackPlugin.options.title %>
vue.config.js
vue.config.js
module.exports = {
pluginOptions: {
electronBuilder: {
chainWebpackRendererProcess: config => {
config.plugin("html").tap(args => {
args[0].title = "Stack Overflow";
return args;
});
}
}
}
};
问题是,当应用程序启动时,页面标题从stackoverflow变为Stack Overflow会有一个毫秒的闪烁。为了防止这种情况,我使用了page-title-updated
如下所示的 Electron 钩子来确保应用程序标题正确加载。
main.js
var win = new BrowserWindow({
width: 800,
height: 600,
title: 'Stack Overflow'
});
win.on('page-title-updated', (evt) => {
evt.preventDefault();
});
它工作得很好,现在没有窗口闪烁,</title>
但是当使用 Cypress 运行e2e
测试时,它只是找不到正确的标题Stack Overflow并且测试失败。
test.js
describe("My First Test", () => {
it("ensures the correct title", () => {
cy.visit('/').title().should('eq', 'Stack Overflow')
})
});
赛普拉斯测试的结果expected stackoverflow to equal Stack Overflow
。所以,百万美元的问题是,我如何获得赛普拉斯测试通过?