使用 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"); } }