Google chrome 具有相同浏览器的量角器多容量
我正在运行具有“多电容”的量角器,如下所示:Google chrome 具有相同浏览器的量角器多容量,google-chrome,jasmine,protractor,karma-runner,Google Chrome,Jasmine,Protractor,Karma Runner,我正在运行具有“多电容”的量角器,如下所示: multiCapabilities : [ { name : 'ChromeIphone', logName : 'Chrome Iphone', browserName: 'chrome', chromeOptions: { 'args': ['user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (K
multiCapabilities : [
{
name : 'ChromeIphone',
logName : 'Chrome Iphone',
browserName: 'chrome',
chromeOptions: {
'args': ['user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4']
},
mobileEmulationEnabled: true
},
{
name : 'ChromeAndroid',
logName : 'Chrome Android',
platformName: 'android',
browserName: 'chrome',
newCommandTimeout: 60,
chromeOptions: {
'args': ['user-agent=Mozilla/5.0 (Linux; Android 4.4.4; Samsung Galaxy S4 - 4.4.4 - API 19 - 1080x1920 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36']
}
}
],
这将导致启动两个web驱动程序实例。当其中一个失败时,我想知道我创建的报告中哪一个失败了
我尝试在“onPrepare”中使用以下函数
browser.getCapabilities().then(function (cap) {
browser.name = (cap.browserName === undefined) ? (cap.caps_) ? cap.caps_.browserName : 'chrome' : cap.browserName;
console.log('Current browser: ' + browser.name);
});
这对我来说是没用的,因为我总是使用“chrome”作为浏览器
在运行时是否有任何方式可以让我知道正在使用的用户代理?或者可以知道我的哪个“multiCapabilities”失败了?您可以从已处理的配置文件中获取值:
onPrepare: function() {
browser.getProcessedConfig().then(function(currentConfig) {
console.log('Current browser: ' + currentConfig.capabilities.name);
// if you want to see all the properties, you can use this
// console.log(JSON.stringify(currentConfig.capabilities, null, 4));
});
};
使用getCapabilities,您可以在运行时检索浏览器名称。你用的是哪种报告?在html截图报告中,它清楚地指出了失败的地方。我知道浏览器名称。。。然而,我们总是使用“chrome”作为浏览器,使用不同的用户代理来模拟android、iphone等。在创建的报告标题中,我希望“android”或“iphone”可见。我使用的报告器是‘dragor-jasmine2-screenshot-reporter’哦,好吧,我认为它们不被直接允许,因为它们只捕获浏览器的主体。我想你需要定制报告。如果你能找到解决办法,请告诉我。