0

目标:获取 chromium 命令执行的结果,例如Profiler报告数据

我所做的:我可以使用browser.driver.sendChromiumCommand.

例如await browser.driver.sendChromiumCommand('Page.reload', {})重新加载页面,所以我可以确认这是有效的。

问题:任何命令执行的结果总是null

这是我的代码

describe('Protractor Demo App', function() {
  it('whatever', async function() {
    await browser.get('http://juliemr.github.io/protractor-demo/');
    const data = await browser.driver.sendChromiumCommand('Page.reload', {
      scriptToEvaluateOnLoad: `(function(){return '123 })()`
    });
    console.log(data); // expected '123' but got 'null'
  });
});

注意:问题与特定命令无关,所有devtools 命令都返回null

4

1 回答 1

0

这本身不是量角器问题。

问题是selenium-webdriverNode.js 的底层使用send_command(不返回结果),但没有实现send_command_and_get_result.

根据开发人员的回复,它将在下一个 alpha 版本中修复(当前版本是4.0.0-alpha.7

我想,为了让这个工作,量角器sendChromiumCommand必须得到一个sendChromiumCommandAndGetResult对应的,一旦selenium-webdriver修复可用。

于 2020-10-08T10:35:15.867 回答