Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium - mobileEmulation not working after chromedriver version updation to 2.30

Below code is working fine, when I use chromedriver ver 2.28 but giving me below error when I use Chromedriver ver 2.30

Stack-trace:

org.openqa.selenium.WebDriverException: unknown error: cannot parse 
capability: chromeOptions
from unknown error:  cannot parse mobileEmulation
from unknown error: 'Google Nexus 5' must be a valid device
from unknown error:  must be a valid device

Code:

    String chromedriver = CONFIG.getProperty("chromedriverpath");
    System.setProperty("webdriver.chrome.driver", chromedriver);

    Map<String, String> mobileEmulation = new HashMap<String, String>();
    mobileEmulation.put("deviceName", "Google Nexus 5");

    Map<String, Object> chromeOptions = new HashMap<String, Object>();
    chromeOptions.put("mobileEmulation", mobileEmulation);
    chromeOptions.put("args", Arrays.asList("--disable-extensions",
            "no-sandbox", "--allow-running-insecure-content", "ignore-
     certificate-errors","disable-infobars"));

    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

    WebDriver driver = new ChromeDriver(capabilities);
like image 966
Abhishek Dhoundiyal Avatar asked Jun 15 '17 10:06

Abhishek Dhoundiyal


1 Answers

It seems that the device was renamed to "Nexus 5".

So either create a custom device or use one from the list present in dev tools:

  • BlackBerry Z30
  • Blackberry PlayBook
  • Galaxy Note 3
  • Galaxy Note II
  • Galaxy S III
  • Kindle Fire HDX
  • LG Optimus L70
  • Laptop with HiDPI screen
  • Laptop with MDPI screen
  • Laptop with touch
  • Microsoft Lumia 550
  • Microsoft Lumia 950
  • Nexus 10
  • Nexus 4
  • Nexus 5
  • Nexus 6
  • Nexus 7
  • Nokia Lumia 520
  • Nokia N9
  • iPad Mini
  • iPhone 4
  • Galaxy S5
  • Nexus 5X
  • Nexus 6P
  • iPhone 5
  • iPhone 6
  • iPhone 6 Plus
  • iPad
like image 148
Florent B. Avatar answered Nov 03 '22 00:11

Florent B.