我正在使用Spectron来测试基于React的Electron应用程序。我想选择一个React组件,并尝试为此访问WebDriverIO的浏览器并调用react$
,但是找不到该函数-'app.client.react $不是函数'。>
这是我的代码(使用AVA):
test.serial('First Test', async t => {
const app = t.context.app;
await app.client.waitUntilWindowLoaded();
const win = app.browserWindow;
t.is(await app.client.getWindowCount(), 1);
t.false(await win.isMinimized());
t.false(await win.isDevToolsOpened());
t.true(await win.isVisible());
t.true(await win.isFocused());
console.log(await app.client.react$('MyCoponent'));
});
这是错误:
TypeError {
message: 'app.client.react$ is not a function',
}
有什么想法吗?
答案 0 :(得分:1)
Spectron是基于WebdriverIO的版本4构建的,尚未进行更新以支持版本5(尽管有GitHub issue可以做到)。 React selectors已添加到WebdriverIO的5.8.0版本中。当Spectron更新为支持WebdriverIO版本5时,您的代码应该可以使用。