Проблема с запуском selenium-server grid2. Исключение NoClassDefFoundError

java -jar selenium-server-2.1.0.jar -role rc -hub http://localhost:4444/grid/register -порт 5555

2.8.2011 12:14:12 org.openqa.grid.selenium.GridLauncher main
INFO: Launching a selenium grid node
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONExceptio
n
        at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

person senzacionale    schedule 02.08.2011    source источник


Ответы (4)


Вам нужно использовать selenium-server-standalone-2.XY.jar, чтобы получить все необходимые библиотеки. selenium-server-2.X.Y.jar только в том случае, если вы собираетесь управлять своим собственным путем к классам.

person nirvdrum    schedule 02.08.2011

У меня точно такая же проблема. Вещи, которые я пробовал до сих пор:

  1. Включите папку Selenium-2.3.0/libs в мою переменную среды пути к классам.
  2. Включите папку Selenium-2.3.0/libs с переопределением командной строки «-classpath/path/libs/*»
  3. Добавьте json.jar (с JSONException.class в папку org/json) в мою папку ext jre и убедитесь, что он находится в пути к классам.
  4. Написал свой собственный класс MyTest.java (код ниже), скомпилировал его и запустил без проблем
    import org.json.JSONException;

    public class MyTest {
      public static void main(String[] args) {
        new JSONException("message");
      }
    }

Ну и что дальше?

person johnwilander    schedule 02.08.2011

Для людей, работающих с селеном и плохо знакомых с селеном. Загрузите последний jar-файл Selenium Standalone Server с http://docs.seleniumhq.org/download/. Щелкните правой кнопкой мыши. в проекте -> Путь сборки -> Настроить путь сборки.. Здесь, в разделе «Путь сборки Java», перейдите на вкладку «Библиотеки» и нажмите кнопку «Добавить внешние банки». Теперь добавьте указанный выше файл jar, загруженный здесь. Нажмите «Применить», а затем «ОК».

это решило проблему для меня.

person gowtham venkateshan    schedule 20.07.2015

Как упоминалось в nirvdrum, если вы не хотите управлять своим путем к классам, я бы рекомендовал использовать файл selenium standalone server JAR.

для использования концентратора:

java -jar selenium-server-standalone-2.3.0.jar -role hub

для узла на той же машине:

java -jar selnium-server-standalone-2.3.0.jar -role remotecontrol -hub http://localhost:4444/grid/register -port [XXXX] (что-то отличное от 4444)

Это просто для того, чтобы настроить вашу сетку. Чтобы вы могли запустить тест через сетку, вам нужно будет использовать экземпляр RemoteWebDriver, который ссылается на ваш концентратор. Например:

WebDriver driver = new RemoteWebDriver( new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.firefox() );
person developer_dan    schedule 02.08.2011