Работа над проектом, созданным с помощью @vue/cli 4.2.2
и Vue CLI Electron Plugin Builder . 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;
});
}
}
}
};
Проблема в том, что когда приложение запускается, появляется миллисекунда sh, где заголовок страницы меняется с stackoverflow на Stack Overflow . Чтобы предотвратить это, я использовал крючок Electron page-title-updated
, как показано ниже, чтобы убедиться, что заголовок приложения загружается правильно.
main.js
var win = new BrowserWindow({
width: 800,
height: 600,
title: 'Stack Overflow'
});
win.on('page-title-updated', (evt) => {
evt.preventDefault();
});
Он отлично работает, и окно не мигает в </title>
сейчас, но при запуске теста e2e
с использованием Cypress, он просто не может найти правильный заголовок Переполнение стека , и тест не пройден. test.js
describe("My First Test", () => {
it("ensures the correct title", () => {
cy.visit('/').title().should('eq', 'Stack Overflow')
})
});
Результат теста Cypress expected stackoverflow to equal Stack Overflow
. Итак, вопрос на миллион долларов: как мне пройти тест Cypress?