Selenide Could not initialize class com.codeborne.selenide.Configuration

Здравствуйте!

Скажу сразу:
Гуглил, прежде чем писать здесь.

Постоянно вываливается ошибка

Java.lang.NoClassDefFoundError: Could not initialize class com.codeborne.selenide.Configuration
	at com.codeborne.selenide.impl.StaticConfig.holdBrowserOpen(StaticConfig.java:36)

Писал проект, всё работало, потом вдруг перестало запускаться.
Сначала заметил что в Libriries пропал куда то selenium-remote-driver
Добавил в Build Path, ошибка пропала, писал дальше , и не понял на каком шаге что случилось,
опять эта ошибка.
Причём на другом компьютере вроде писал такой же проект , с таким же набором зависимостей, не было такого.
День уже бьюсь с этим геммороем. Может кому не жалко времени глянуть, посмотрите,что я там налажал :frowning:

ссылка на исходники
github[.]com/kolob204/trytosolve

Добавил исправления
https://github.com/kolob204/trytosolve/pulls

Основная проблема решалась добавлением exclusions для ашота.

1 лайк

Во ведь, работает.
А в чём причина смены версий
maven-surefire-plugin.version
с 3.0.0-M4 на 2.22.2

aspectj
с 1.9.5 на 1.8.14

Ранние Более стабильные? или это именно в связки с другими пакетами надо как то понимать, какие версии выбирать?

aspectj - у аллюра такое требование, не пробовал с 1.9, может и заработает ( Allure Framework ).
maven-surefire-plugin - не люблю нестабильные версии, его ещё пилят ( Maven Surefire Plugin – Introduction ), хотя, опять же, 3.0.0-M4 может и работать.

1 лайк

Возник ещё вопрос.

исправление, позволяющее автоматически скачивать webDriver

WebDriverManager.chromedriver().setup();
System.setProperty("webdriver.chrome.driver", WebDriverManager.chromedriver().getBinaryPath());

Пробовал в двух разных местах запускать проект.

  1. Там где нет прокси для доступа в интернет, всё ок.
  2. Там, где есть прокси, не скачивается. (Мавен и Eclipse настроены на работу с прокси, и они нормально качают библиотеки из репозитория)

При этом в тестах мне не нужен прокси, так как тестовый стенд находится в локальной сети.

Надо как то до настраивать Selenide для решения этой проблемки?

Скачайте руками и положите в папку с проектом драйвер.
Тогда надо указать просто
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
Минус один - надо обновлять ручками.
Можно, конечно, добавить проверку - есть интернет - использовать WebDriverManager - нет инета - использовать рядом лежащий.

Так я научился, да, спасибо.
Просто хотел автоматизировать до конца этот процесс :slight_smile:
Ладно, это не так критично, может ещё поиграюсь с настройками, если получится - отпишусь в этой теме, что сделал.

Пока пробовал вот так, не помогло:

Configuration.fileDownload = FileDownloadMode.PROXY;
Configuration.proxyEnabled = true;
Configuration.proxyHost = "здесь мой адрес прокси , используемый в локальной сети";
Configuration.proxyPort = 8080;

Нет это не то, это настройки самого селенида. Чтобы браузер запускать через прокси и слушать поток.

1 лайк

Нашёл решение, забыл отписаться сразу в тему.
Вдруг такой же горе программист будет искать ответ :slight_smile:

WebDriverManager.chromedriver().proxy("Login:Pass@LocalProxyAdress:port")
					.setup();
1 лайк