Protractor - 获取 sendChromiumCommand 的结果
Protractor - get result of sendChromiumCommand
目标:获取chromium命令执行的结果,例如Profiler 报告数据
我做了什么:我可以使用 browser.driver.sendChromiumCommand
.
调用 chrome devtools 命令
例如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 commands return null
这本身不是 Protractor 问题。
问题是 Node.js 的基础 selenium-webdriver
使用 send_command
(没有 return 结果),但没有实现 send_command_and_get_result
的用法.
According to response from developers 它将在下一个 alpha 版本中修复(当前版本是 4.0.0-alpha.7
)
我想,为了让它工作,Protractor 的 sendChromiumCommand
必须得到一个 sendChromiumCommandAndGetResult
对应,一旦 selenium-webdriver
修复可用。
目标:获取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 commands return null
这本身不是 Protractor 问题。
问题是 Node.js 的基础 selenium-webdriver
使用 send_command
(没有 return 结果),但没有实现 send_command_and_get_result
的用法.
According to response from developers 它将在下一个 alpha 版本中修复(当前版本是 4.0.0-alpha.7
)
我想,为了让它工作,Protractor 的 sendChromiumCommand
必须得到一个 sendChromiumCommandAndGetResult
对应,一旦 selenium-webdriver
修复可用。