如何使用selenium工具测试镀铬扩展?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用selenium工具测试镀铬扩展?相关的知识,希望对你有一定的参考价值。

我构建了Chrome扩展程序,我想进行自动Selenium测试,以便对其进行测试。

这是我在java中编写的代码:

public static void main(String[] args) throws InterruptedException {

    WebDriver Driver = null;
    System.setProperty("webdriver.chrome.driver","chromedriver.exe");
    Driver = new ChromeDriver();
    ChromeOptions options = new ChromeOptions();
    options.addExtensions(new File("EXTENSTION-TRY_v1.crx"));

    DesiredCapabilities cap = DesiredCapabilities.chrome();
    cap.setCapability(options.CAPABILITY, options);
    Driver = new ChromeDriver(cap);

    //Driver.get("chrome-
      extension://gnenabaciggjinojhciofkkiphbmcinf/home.html");

但每次我运行它,我都会收到此错误:

对服务器的请求已被扩展程序阻止。尝试停用您的扩展程序。 ERR_BLOCKED_BY_CLIENT

AdBlock已停用。你知道我怎么解决这个问题?

谢谢

答案

以下是我用于启动ChromeDriver的参数:

Map<String, Object> options = new HashMap<String, Object>();
ArrayList<String> args = new ArrayList<String>();
args.add("enable-automation");
args.add("test-type=browser");
args.add("disable-plugins");
args.add("disable-infobars");
options.put("args", args);

capabilities.setCapability(ChromeOptions.CAPABILITY, options);

我也有一个不同的方法来加载this answer中的扩展。

以上是关于如何使用selenium工具测试镀铬扩展?的主要内容,如果未能解决你的问题,请参考以下文章

不能使用带有硒的镀铬按钮

如何使用 Selenium WD 为不同的浏览器类型打开隐身/私人窗口?

如何使用Selenium-Grid

如何使用Selenium-Grid

如何给selenium.chrome写扩展拦截或转发请求

使用JavaScript的Web自动化