如何在Linux中为无头Firefox安装自定义扩展?

时间:2015-06-23 07:35:24

标签: firefox selenium codeception headless

使用Selenium的自动化测试非常棒,但如何在预装扩展的无头Firefox上进行测试?

我找到了Chrome的this,但没有找到Firefox

如何安装FF扩展程序?

4 个答案:

答案 0 :(得分:1)

我不知道您使用的语言,但是如果您有方便的xpi文件,则可以安装(或者更确切地说是这样启用)

这是一种javascript方式,但所有selenium驱动程序的工作方式相同(查找配置文件部分)

let binary;
    switch (channel) {
      case 'nightly':
        binary = new firefox.Binary(firefox.Channel.NIGHTLY);
        break;
      case 'beta':
        binary = new firefox.Binary(firefox.Channel.BETA);
        break;
      default:
        binary = new firefox.Binary(firefox.Channel.RELEASE);
    }

    binary.addArguments('-headless');

    let options = new firefox.Options();
    options.setBinary(binary);

    let profile = new firefox.Profile();
    profile.addExtension(path.join(__dirname, 'uBlock0@raymondhill.net.xpi'));
    options.setProfile(profile);

    driver = new webdriver.Builder()
      .forBrowser('firefox')
      .setFirefoxOptions(options)
      .build();

答案 1 :(得分:0)

现在您可以为Firefox安装任何Chrome扩展程序。这是解决方案。 How to install chrome extension to firefox?

答案 2 :(得分:-1)

您可以使用命令行全局安装附加组件(例如在我的Ubuntu上):

gksudo firefox -install-global-extension "path_to_your.xpi"

答案 3 :(得分:-7)

最好的事情是使用像Xvfb这样的东西。并在无头模式下运行firefox。 http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/