2017-07-04 4 views
1

Dans notre suite Capybara/Rspec écrite en Ruby, nous utilisons un pilote spécial pour tester les interactions tactiles et les tailles d'écran mobiles.Lors de la mise à niveau vers chromdriver 2.30, erreur: impossible d'analyser la capacité: chromeOptions/impossible d'analyser mobileEmulation/'Apple iPhone 6' doit être un périphérique valide

Ce code fonctionne dans Chromedriver 2,28

notre configuration dans spec/spec_helper.rb

Capybara.register_driver :chrome_emulating_iphone_6 do |app| 
    mobile_emulation = { "deviceName" => "Apple iPhone 6" } 
    caps = Selenium::WebDriver::Remote::Capabilities.chrome(
    'chromeOptions' => { 
     'mobileEmulation' => mobile_emulation, 
     'args' => [ ' --disable-web-security' ] 
    } 
) 
    Capybara::Selenium::Driver.new(app, :browser => :chrome, 
           :desired_capabilities => caps) 
end 

Le code ci-dessus a travaillé dans Chromedriver 2,28

vérifier la version exacte:

$ chromedriver -v 
ChromeDriver 2.28.455517 (2c6d2707d8ea850c862f04ac066724273981e88f) 

Lors de la mise à niveau vers Chromedriver 2.30, le code ci-dessus casse la version après la mise à niveau qui semble avoir cassé la spécification:

$ chromedriver -v 
ChromeDriver 2.30.477690 (c53f4ad87510ee97b5c3425a14c0e79780cdf262) 

la spécification rubis échoue avec:

1) Vue sélecteur de soeur mobile soeur de sélection devrait être sur la page Panne/Erreur: visite "/produits/boxer »

Selenium::WebDriver::Error::UnknownError: 
    unknown error: cannot parse capability: chromeOptions 
    from unknown error: cannot parse mobileEmulation 
    from unknown error: 'Apple iPhone 6' must be a valid device 
    from unknown error: must be a valid device 
    (Driver info: chromedriver=2.30.477690 (c53f4ad87510ee97b5c3425a14c0e79780cdf262),platform=Mac OS X 10.11.6 x86_64) 

Répondre

0

fixes à l'évolution

mobile_emulation = { "deviceName" => "Apple iPhone 6" } 

à

mobile_emulation = { "deviceName" => "iPhone 6" }