2016-05-23 9 views
1

Ich schreibe eine Webanwendung, die stark von Geolocation abhängt. Ich benutze Chimpjs (Kombination von Gurke, Webdriverio, Chai), um meine BDD zu machen. Ich möchte Google Chrome mit geolocation erlaubt starten. Ich denke, ich muss dies tun, weil ich keine Möglichkeit finde, auf die Zulassen-Schaltfläche in Chrome zu klicken, um Geolocation zuzulassen.Webdriverio/chimpjs - Starten Sie Google Chrome mit Gelocation erlaubt

Ich habe eine Konfigurationsdatei chimp.js in meinem Gurkenverzeichnis. Hier sind seine Inhalte:

module.exports = { 
    webdriverio: { 
    desiredCapabilities: { 
     chromeOptions: { 
     deviceName: 'Google Nexus 5' 
     } 
    } 
    }, 
    browser: 'chrome', 
    watch: false, 
    path: './features', 
    chai: true, 
    screenshotsPath: '.screenshots' 
}; 

Ich weiß, dass:

  • Chrom verwendet Profilinformationen, die um Laufzeit zur Verfügung gestellt werden kann
  • gibt es eine Option ‚Geolocation‘, die auf 1
  • eingestellt werden müssen
  • Einige andere relevante Verschachtelung sind 'prefs' und 'default_content_setting_values', die ich durch das Durchsuchen meiner Chrome-Voreinstellungen
erfahren habe

Was ich nicht herausfinden kann ist, welche von diesen müssen an chromeOptions übergeben werden, und was muss wo verschachtelt werden.

Ich bin mir sicher, ich kann nicht die einzige Person sein, die jemals Chrome mit Webdriver starten musste und Geolocation aktiviert haben.

Antwort

0

Diese Frage ist ein Duplikat dieser: How do I enable geolocation support in chromedriver for Selenium?

ich die Antwort auf WebdriverIO Syntax übersetzt haben:

browser.execute(function() { 
    window.navigator.geolocation.getCurrentPosition = function(success) { 
    var position = { coords : { latitude: "40.748440", longitude: "-73.984559" } }; 
    success(position); 
    } 
}); 
0

Sie können einfach diese mit profile.default_content_setting_values.geolocation in chromeOptions konfigurieren.

chromeOptions: { 
    deviceName: 'Google Nexus 5' 
    prefs: { 
    "profile.default_content_setting_values.geolocation": 1, 
    } 
},