DesiredCapabilities is a class in Selenium that stores browser-specific configuration as key-value pairs. It is used to set browser properties such as browser name, version, platform, and SSL certificate handling before launching the driver.
Common use cases:
- ✓Accept SSL certificates
- ✓Set browser version and platform for Selenium Grid
- ✓Enable/disable specific browser features
- ✓Configure remote WebDriver sessions
Chrome example — accept SSL certs:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
WebDriver driver = new ChromeDriver(capabilities);
Firefox example:
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setBrowserName("firefox");
capabilities.setPlatform(Platform.WINDOWS);
With Selenium Grid:
DesiredCapabilities caps = new DesiredCapabilities();
caps.setBrowserName("chrome");
caps.setPlatform(Platform.LINUX);
RemoteWebDriver driver = new RemoteWebDriver(new URL("http://hub:4444/wd/hub"), caps);
Note: In Selenium 4,
DesiredCapabilitiesis largely replaced by browser-specific Options classes (ChromeOptions,FirefoxOptions). For new projects, prefer Options over DesiredCapabilities.
