3

我正在尝试使用 Spectron 测试 Electron 应用程序。但我无法测试客户端窗口 javascript 全局变量。这是我的简化代码。请帮我。谢谢。

索引.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>

脚本.js

let mode;
function onload_func(){
    mode = 'normal';
}
window.onload = onload_func;

规范.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');
    })
})
4

1 回答 1

0

我不确定它是否会解决您的特定测试,但app.browserWindow应该做到这一点,因为正如他们所说:

它为您提供对当前 BrowserWindow 的访问并包含所有 API。

请注意,这是一个别名require('electron').remote.getCurrentWindow()

阅读更多:https ://github.com/electron/spectron#browserwindow

于 2018-11-25T23:19:02.157 回答