Browser Plugin Testing With Selenium.


We can perform browser plugin testing with Selenium webdriver. We can have single or multiple extensions of the Chrome browser while we manually open the browser and work on it.

However, while the Chrome browser is opened through Selenium webdriver, those extensions which are available to the local browser will not be available. To configure an extension, we have to obtain the .crx extension file of the extension.

Then we have to add the extension to the Chrome browser which is launched by Selenium. To get all the extensions available to the browser type chrome://extensions on the browser address bar.

To get add an extension for example − Momentum, visit the link −

https://chrome.google.com/webstore/category/extensions and enter Momentum in the search box. Once the search results are displayed, click on the relevant option.

After clicking on the Momentum, the details of the extension gets displayed. Copy the URL of the extension as highlighted in the below image.

Now, navigate to the link: https://chrome-extension-downloader.com/ and paste the URL we have copied within the Download extension field.

The .crx file of the extension gets downloaded to our system. We should then save it in a desired location.

To add this extension to the Chrome browser, once it is launched by Selenium webdriver, we have to use the ChromeOptions class. We shall create an object of this class and apply addExtensions method on it.

The path of the .crx file of the extension that we want to add is passed as a parameter to that method. Then we shall use the DesiredCapabilities class to set this browser capability.

We shall apply the setCapability method on the object of DesiredCapabilities and pass ChromeOptions.CAPABILITY and object of the ChromeOptions class as parameters to that method. Finally, the object of DesiredCapabilities is passed as a parameter to the webdriver object.

Example

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.io.File;
public class AddExtensns{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      //ChromeOptions object
      ChromeOptions opt= new ChromeOptions();
      //set path of .crx file of extension
      opt.addExtensions(new File("C:\Users\Momentum_v0.92.2.crx"));
      //DesiredCapabilities object
      DesiredCapabilities c = DesiredCapabilities.chrome();
      // set ChromeOptions capability
      c.setCapability(ChromeOptions.CAPABILITY, opt);
      // pass capability to driver
      WebDriver driver = new ChromeDriver(c);
      driver.get("https://www.tutorialspoint.com/index.htm");
   }
}

Updated on: 30-Jan-2021

530 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements