gpt4 book ai didi

selenium - WebdriverIO - 获取浏览器日志

转载 作者:行者123 更新时间:2023-12-04 02:07:33 29 4
gpt4 key购买 nike

我想使用 WebdriverIO 的日志功能从 chrome 获取浏览器日志 (console.logs),但我得到的只是函数日志不是函数。

var WebdriverIO = require('webdriverio');
var chai = require('chai');
var _ = require('lodash');
var chaiAsPromised = require('chai-as-promised');

var expect = chai.expect;
chai.use(chaiAsPromised);

var browser = {
host: '127.0.0.1',
port: 4444,
desiredCapabilities: {
browserName : 'chrome',
chromeOptions: {
args: [
'no-sandbox',
'use-fake-device-for-media-stream',
'use-fake-ui-for-media-stream',
'mute-audio',
]
},
loggingPrefs: {
'driver': 'INFO',
'browser': 'INFO'
}
},
};

var matrix = WebdriverIO.multiremote({
browserA: browser,
browserB: browser,
});

chaiAsPromised.transferPromiseness = matrix.transferPromiseness;

var browserA = matrix.select('browserA');
var browserB = matrix.select('browserB');

it('should initialize browsers', function() {
return matrix.init();
});

it('should open two browsers', function(done) {
browserA.url('https://127.0.0.1:3000/');
browserB.url('https://127.0.0.1:3000/');

matrix.timeouts('implicit', 15000);

matrix.sync().call(done);
});

it('should return logs', function(done) {
browserA
.log('browser', function(err, msg, a) {
console.log(msg);
})
.call(done);
});

有人知道如何正确使用这个功能吗?当我只使用一个浏览器而不像我在代码片段中那样创建矩阵时,它也不起作用。

最佳答案

您使用的 API 有误。您不能将回调传递给日志方法。该命令返回一个 promise (如果您使用这样的独立脚本),因此您需要执行以下操作:

browserA
.log('browser').then(function(msg) {
console.log(msg);
})

关于selenium - WebdriverIO - 获取浏览器日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41934276/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com