Установить расширение в браузер. используя selenium Grid

Коллеги, доброе утро! Пишу, поскольку не смогла найти ответ на просторах гугла.
Ситуация следующая:

  1. имеется параллельный запуск тестов, 1 головная машина, 3 подчиненных.
  2. необходимо настроить браузеры на подчиненных машинах таким образом. чтобы они запускались с установленным расширением.
    Можно ли это сделать и если можно. то как? Я предполагаю так, что это где-то в конфигах самого грида надо прописывать.
    Я прошу прощения. если написала косноязычно, до этого грид никогда не оставила, такое наследие оставил коллега. я только учусь во всем этом разбираться.

Ну как это так - не смогли найти ответ на просторах гугла?
Гуглите для своего ЯП и используемого фреймворка и браузера, например для ФФ:

set firefox profile extension for webdriver
1 лайк

создать профайл так вот => How To Create & Access Custom Firefox Profile In Selenium Webdriver - Webkul Blog

Добавить расширение в свой профиль для фф => webdriver - How to set FirefoxProfile with extensions for RemoteWebDriver? - Stack Overflow

Пример для Chrome Driver.

  1. Создаешь экстешн и кладешь его в папочку к тестам. К примеру chrome/extension/тут твое расширение.crx

  2. Читаешь его в base64.

    static readFileToBase64(pathToFile) {

     try {
    
         let bitmap = fs.readFileSync(pathToFile);
         return new Buffer(bitmap).toString('base64');
    
     }
    
     catch (e) {
    
         throw new TechnicalError(e);
     }
    

    }

  3. Создаешь хром с нужными капабилити:

    let base64ext = file.readFileToBase64(pathTOextension);

     let chromeOptions = {
    
         'extensions': [base64ext]
     };
    
     let chromeCapabilities = webdriver.Capabilities.chrome();
     chromeCapabilities.set('chromeOptions', chromeOptions);
     return driver = new webdriver.Builder()
         .usingServer(hub)
         .withCapabilities(chromeCapabilities)
         .build();
    

Данная схема нормально работает в следующем окружении.

  1. Тесты лежат в докере.
  2. В другом контейнере лежит Go Grid Router который работает с Selenoid хабами.
    Что по сути селениум грид только накрученный.