Desired Capabilities in Selenium WebDriver
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.