Не загружается плагин в браузер 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();
}