Не загружается плагин в браузер Firefox с использованием Selenide

Я пытаюсь загрузить плагин в Firefox, используя Selenide, но это не работает. Я попробовал все, что только мог придумать, но все равно получаю ошибку.

Я использую библиотеку Selenide версии 7.3.3. браузер Firefox версии 130.0 64-битный.


        /**
     * Базовый класс для всех тестов.
     * Настраивает браузер и загружает необходимые расширения.
     */
    public class BasicTest extends Methods {
    
        /**
         * Настраивает браузер перед каждым тестом.
         * Использует Firefox в качестве браузера по умолчанию.
         * Загружает расширение CryptoPro для Firefox.
         */
        @BeforeAll
        public static void setBrowser() {
            // Настраиваем WebDriver для Firefox
            WebDriverManager.firefoxdriver().setup();
            Configuration.browser = "firefox";
    
            // Устанавливаем размер окна браузера
            Configuration.browserSize = "1920x1080";
    
            // Путь к расширению Firefox
            String firefoxAddonsPath = "src/main/resources/firefox_extension_latest.xpi";
    
            // Проверяем, существует ли файл расширения
            File addonFile = new File(firefoxAddonsPath);
            if (addonFile.exists()) {
                // Устанавливаем путь к расширению, если файл существует
                System.setProperty("selenide.firefox.addons", firefoxAddonsPath);
                System.out.println("Расширение успешно загружено");
            } else {
                // Записываем сообщение об ошибке, если файл не найден
                System.err.println("Файл расширения не найден: " + firefoxAddonsPath);
                // Бросаем исключение, если расширение не найдено
                throw new RuntimeException("Расширение Firefox не найдено: " + firefoxAddonsPath);
            }
    
            // Включаем быстрое заполнение полей
            Configuration.fastSetValue = true;
        }
    }

Я ожидаю, что расширение успешно загрузится в браузер Firefox


Ответы (1 шт):

Автор решения: Boris Osipov
    @Test
    void foo() {
        // Создаем объект File, представляющий расширение Firefox
        File file = new File("C:\\123\\firefox_cryptopro_extension_latest.xpi");
        
        // Создаем новый профиль Firefox и добавляем в него расширение
        FirefoxProfile profile = new FirefoxProfile();
        profile.addExtension(file);
        
        // Создаем опции для Firefox и устанавливаем профиль
        FirefoxOptions firefoxOptions = new FirefoxOptions();
        firefoxOptions.setProfile(profile);
        
        // Присваиваем опции Firefox для конфигурации браузера Selenide
        Configuration.browserCapabilities = firefoxOptions;
        
        // Указываем, что для теста используется браузер Firefox
        Configuration.browser = "firefox";
        
        // Открываем браузер с заданными параметрами
        open();
    }
→ Ссылка