【发布时间】:2015-02-16 11:09:48
【问题描述】:
尝试使用 chromedriver 模拟移动设备来设置 e2e 测试。我们在 Mac OS 上使用 chromedriver 2.3,并且提供的 chromeOptions 似乎无效:
var webdriver = require('selenium-webdriver');
var capabilities = {
browserName: 'chrome',
chromeOptions: {
mobileEmulation: {
deviceName: 'Apple iPhone 5'
}
}
};
var driver = new webdriver
.Builder()
.withCapabilities(capabilities)
.build();
driver.get('http://google.com');
var bool = false;
setTimeout(function () {
bool = true;
}, 9000);
driver.wait(function() {
return bool;
}, 10000);
driver.quit();
我做错了什么?这是错误的堆栈跟踪:
UnknownError: unknown error: cannot parse capability: chromeOptions
from unknown error: unrecognized chrome option: mobileEmulation
(Driver info: chromedriver=2.3,platform=Mac OS X 10.10.1 x86_64)
at new bot.Error (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/atoms/error.js:113:18)
at Object.bot.response.checkResponse (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)
at /Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:152:24
at /Users/michael/cdTest/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/promise.js:1654:20)
at notify (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/promise.js:465:12)
at notifyAll (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/promise.js:442:7)
at resolve (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/promise.js:420:7)
at fulfill (/Users/michael/cdTest/node_modules/selenium-webdriver/lib/webdriver/promise.js:535:5)
at /Users/michael/cdTest/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
【问题讨论】:
-
2.3 已经一年多了。您没有使用最新版本的 chromedriver 的任何原因?如果有原因,请将其添加到您的问题中。
-
我尝试了最新版本,它显示相同的错误。我回去是因为我在想新版本中的某些东西可能会导致问题。该功能应该在 2.11 之后的版本中可用???
标签: node.js selenium mobile automated-tests selenium-chromedriver