webdriverio browser.execute 返回 null

问题描述 投票:0回答:1

我有一个流星应用程序,想通过来自 webdriver.io 的无头浏览器从客户端检索单元测试中的一些数据。

我要的数据来自这个函数:

Session.get()
-> http://meteortips.com/first-meteor-tutorial/sessions/

我使用的无头浏览器来自以下网址:

http://webdriver.io/

我的测试是这样的:

describe('[Check Boards]', () => {
  it('should exist', () => {
    const board = browser.execute('Session.get(\'currentBoard\')');
    ...
  }
}

当我在真实的浏览器控制台中运行此命令

Session.get('currentBoard')
时,我按预期获得了板。

但是当我在 mocha 测试中从上面描述的代码运行它时,我得到了这个结果:

{
  "state": "success",
  "sessionId": "12345",
  "hCode": 12345,
  "value": null,
  "class": "org.openqa.selenium.remote.Response",
  "_status": 0
}

值为空,但应该有板子

javascript meteor selenium-webdriver webdriver-io
1个回答
2
投票

browser.execute
期望一个函数在浏览器中运行。您正在传递一个字符串,所以它可能不知道该怎么做。这是一个更新的代码片段,应该可以工作:

describe('[Check Boards]', () => {
  it('should exist', () => {
    const board = browser.execute(function () {
      return Session.get('currentBoard');
    });
    ...
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.