我正在尝试使用Spectron测试Electron应用程序。 但是我无法测试客户端窗口javascript全局变量。 这是我的简化代码。 请帮我。 谢谢。
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>MY ELECTRON</title>
<script type="text/javascript" src="script.js"></script>
<link href="./style.css" rel="stylesheet">
</head>
<body>
</body>
</html>
script.js
let mode;
function onload_func(){
mode = 'normal';
}
window.onload = onload_func;
spec.js
const Application = require('spectron').Application
const assert = require('assert')
const electronPath = require('electron')
const path = require('path')
let app;
describe('Application launch', function () {
this.timeout(10000)
beforeEach(function () {
app = new Application({
path: electronPath,
args: [path.join(__dirname, '../src')]
})
return app.start()
})
afterEach(function () {
if (app && app.isRunning()) {
return app.stop()
}
})
it('initial mode',function(){
assert.equal(app.client.mode,'normal');
})
})
答案 0 :(得分:0)
我不确定是否可以解决您的特定测试,但是app.browserWindow
应该可以解决问题,因为正如他们所说:
它使您可以访问当前的BrowserWindow并包含所有 API。
请注意,它是require('electron').remote.getCurrentWindow()