Failed to install WebExtension with Selenium

I am trying to test my firefox web extension, but firefox refuses to install it because it does not have a file install.rdf. But this file is no longer used in webextensions.

const firefox = require('selenium-webdriver/firefox');
const webdriver = require('selenium-webdriver');
require('geckodriver');

let profile = new firefox.Profile();
profile.addExtension(process.cwd() + '/build/firefox/');
profile.setPreference('extensions.firebug.showChromeErrors', true);


let options = new firefox.Options().setProfile(profile);

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

Error: ENOENT: there is no such file or directory, open '/dev/webext/build/firefox/install.rdf'

Is there a parameter that I need to enable in order to tell it this extension?

+4
source share
2 answers

API WebExtension Selenium v3.4.0. Profile::addExtension , install.rdf .

-, , , , GeckoDriver v0.17.0:

var webdriver = require('selenium-webdriver');
var Command = require('selenium-webdriver/lib/command').Command;


function installWebExt(driver, extension) { 
  let cmd = new Command('moz-install-web-ext')
    .setParameter('path', path.resolve(extension))
    .setParameter('temporary', true);

  driver.getExecutor()
    .defineCommand(cmd.getName(), 'POST', '/session/:sessionId/moz/addon/install');

  return driver.schedule(cmd, 'installWebExt(' + extension + ')');
}


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

installWebExt(driver, "C:\\temp\\extension.zip");
+3

Source: https://habr.com/ru/post/1680956/


All Articles