Hello friends! in this post we will be studying about Desired Capabilities. Many times during automation, we may need to work on a particular session of browser or work with a browser having some specific configurable properties set or unset. Selenium web driver provides certain browser specific properties known as Desired Capabilities.
Content
What are the Desired Capabilities?
Desired Capabilities are a set of properties used to configure a particular instance of the browser. We have both browser-independent capabilities like browserName, version, acceptSslCerts, etc as well as browser-specific capabilities like firefox_binary for Mozilla Firefox, chromeOptions for setting Chrome specific desired capabilities.
Setting Desired Capabilities in Selenium
The Desired Capabilities class provides a setCapabilityMethod() to set the different capabilities in a browser like accepting SSL certificates, enabling javascript, querying the browser location is allowed or not, etc.
Code snippet to set a capability to a browser instance –
//Specifying desired capabilities for Chrome browser
DesiredCapabilities acceptSSLCertificate = DesiredCapabilities.chrome();
//Setting capability to accept SSL certificates
acceptSSLCertificate.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
//Binding the capabilities to a new instance of chrome browser
WebDriver driver = new ChromeDriver(acceptSSLCertificate);
Capabilities
Some of the capabilities common to all browsers are –
- acceptSslCerts-
Constant Field – CapabilityType.ACCEPT_SSL_CERTS
For enabling or disabling a browser session to accept the SSL certificates by default. - applicationCacheEnabled-
Constant Field – CapabilityType.SUPPORTS_APPLICATION_CACHE
For checking if the browser instance is capable of interacting with the application cache. - cssSelectorsEnabled-
Constant Field – CapabilityType.SUPPORTS_FINDING_BY_CSS
For checking if the use of CSS selector for locating web elements is enabled or not. - javascriptEnabled-
Constant Field – CapabilityType.SUPPORTS_JAVASCRIPT
For checking if javascript execution is enabled or not in the browser instance. - takesScreenshot-
Constant Field – CapabilityType.TAKES_SCREENSHOT
For checking if the take screenshot ability is enabled or not. - webStorageEnabled-
Constant Field – CapabilityType.SUPPORTS_WEB_STORAGE
For checking if the browser instance is capable of interacting with storage objects. - handlesAlert-
Constant Field – CapabilityType.SUPPORTS_ALERTS
For checking if the browser instance is capable of handling window pop-ups.
That’s all we have in this section. Please comment below to share your views or ask any questions and don’t forget to check our complete selenium tutorial here.

Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can connect with him on LinkedIn.