🌐
Spectronでjavascript errorが発生した場合の対処法
Abstract
Electronの公式テストフレームワークSpectronの公式サイトにある、Getting startedのコードを実行しても、以下のようなjavascript errorが発生した。
Test failed javascript error: Cannot convert undefined or null to object
(Session info: chrome=91.0.4472.124)
原因
メインプロセスとレンダラープロセス間のセキュリティ設定。
対処法
以下のようにセキュリティを低くすると、Spectronが実行可能。
下記の設定では、セキュリティが低くなるので注意が必要。
const win = new BrowserWindow({
webPreferences: {
nodeIntegration: true,
// ensures that both your preload scripts and Electron's internal logic run in a separate context
contextIsolation: false,
// Use main process modules from the renderer process.
enableRemoteModule: true,
},
});
詳細は、References #2をご参考ください。
環境
devDependencies
"electron": "^13.1.7",
"electron-builder": "^22.9.1",
"spectron": "^15.0.0"
References
-
Spectron
https://www.electronjs.org/spectron -
Chrome extension throwing a “Cannot convert undefined or null to object” error #738 (GitHub)
https://github.com/electron-userland/spectron/pull/738
Discussion