我正在编写一个严重依赖于地理位置的Web应用程序。我正在使用chimpjs(黄瓜,webdriverio,chai的组合)来做我的BDD。我想推出允许地理定位的谷歌浏览器。我想我必须这样做,因为我无法点击chrome中的“允许”按钮以允许地理定位。
我的黄瓜目录中有一个chimp.js配置文件。以下是其内容:
module.exports = {
webdriverio: {
desiredCapabilities: {
chromeOptions: {
deviceName: 'Google Nexus 5'
}
}
},
browser: 'chrome',
watch: false,
path: './features',
chai: true,
screenshotsPath: '.screenshots'
};
我知道:
我无法弄清楚其中哪些需要传递给chromeOptions,哪些需要嵌套在哪里。
我确信我不能成为唯一需要使用webdriver启动chrome并启用地理位置的人。
答案 0 :(得分:1)
您可以使用chromeOptions
在profile.default_content_setting_values.geolocation
中进行配置。
chromeOptions: {
deviceName: 'Google Nexus 5'
prefs: {
"profile.default_content_setting_values.geolocation": 1,
}
},
答案 1 :(得分:0)
这个问题与此问题重复:How do I enable geolocation support in chromedriver for Selenium?
我已将答案翻译成WebdriverIO语法:
browser.execute(function() {
window.navigator.geolocation.getCurrentPosition = function(success) {
var position = { coords : { latitude: "40.748440", longitude: "-73.984559" } };
success(position);
}
});