使用 Selenium 进行浏览器插件测试。


我们可以使用 Selenium webdriver 执行浏览器插件测试。当我们手动打开浏览器并进行操作时,可以拥有一个或多个 Chrome 浏览器的扩展程序。

但是,当 Chrome 浏览器通过 Selenium webdriver 打开时,本地浏览器可用的那些扩展程序将不可用。要配置扩展程序,我们必须获取扩展程序的 .crx 扩展文件。

然后,我们必须将扩展程序添加到由 Selenium 启动的 Chrome 浏览器中。要获取浏览器可用的所有扩展程序,请在浏览器地址栏中键入 chrome://extensions。

例如,要添加 Momentum 扩展程序,请访问以下链接:

https://chrome.google.com/webstore/category/extensions并在搜索框中输入 Momentum。搜索结果显示后,点击相关选项。

点击**Momentum**后,将显示扩展程序的详细信息。复制下图中突出显示的扩展程序的 URL。

现在,导航到以下链接: https://chrome-extension-downloader.com/并将我们复制的 URL 粘贴到**下载扩展程序**字段中。

扩展程序的 .crx 文件将下载到我们的系统中。然后,我们应该将其保存到所需位置。

要将此扩展程序添加到 Chrome 浏览器(一旦由 Selenium webdriver 启动),我们必须使用 ChromeOptions 类。我们将为此类创建一个对象,并在其上应用**addExtensions**方法。

要添加的扩展程序的 .crx 文件的路径作为参数传递给该方法。然后,我们将使用**DesiredCapabilities**类来设置此浏览器功能。

我们将对 DesiredCapabilities 的对象应用**setCapability**方法,并将**ChromeOptions.CAPABILITY**和 ChromeOptions 类的**对象**作为参数传递给该方法。最后,DesiredCapabilities 的对象作为参数传递给 webdriver 对象。

示例

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://tutorialspoint.com/index.htm");
   }
}

更新于:2021年1月30日

642 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告