2011-08-02 38 views
0

Java的罐子硒服務器2.1.0.jar -role RC -hub http://localhost:4444/grid/register -port 5555selenium-server grid2啓動問題。 NoClassDefFoundError的例外

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 

回答

3

您需要使用硒 - 服務器獨立-2.X.Y.jar以獲取所有必要的庫。 selenium-server-2.X.Y.jar只有在您打算管理自己的類路徑時纔是如此。

+0

thx回答。問題解決了 – senzacionale

1

我有同樣的問題。事情到目前爲止,我已經試過:

  1. 包括硒 - 2.3.0 /庫在我的CLASSPATH環境變量文件夾
  2. 包括硒 - 2.3.0 /庫使用命令行覆蓋文件夾「-classpath /路徑/庫/ *」
  3. 添加json.jar(與JSONException.class在組織/ JSON文件夾)到我的JRE的ext目錄中,並確保它在classpath
  4. 寫我自己MyTest.java類(下面的代碼),編譯並運行沒有問題它
import org.json.JSONException; 

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

那麼接下來呢?

+0

看到我上面的答案。你可能會使用錯誤的JAR。 – nirvdrum

0

正如nirvdrum提到的,除非你要管理你的classpath我會建議使用硒獨立服務器的JAR文件。

對於轂用途: Java的罐子硒 - 服務器 - 獨立-2.3.0.jar -role轂

在同一臺機器上的一個節點: Java的罐子selnium - 服務器 - 獨立-2.3 .0.jar -role REMOTECONTROL -hub http://localhost:4444/grid/register -port [XXXX](東西比4444等)

這只是爲了讓您的網格設置。爲了讓您使用通過網格運行測試,您需要使用引用您的集線器的RemoteWebDriver實例。例如:

webdriver的驅動=新RemoteWebDriver(新的URL( 「HTTP://本地主機:4444/WD /集線器」),DesiredCapabilities.firefox());

0

有關硒的工作和脂肪酶是新的硒。從http://docs.seleniumhq.org/download/ 下載最新的硒獨立服務器jar文件右鍵單擊項目 - >構建路徑 - >配置構建路徑.. 在這裏,在Java構建路徑部分,轉到圖書館標籤和「添加外部JAR」按鈕 點擊立即,添加這裏下載的上述jar文件。點擊應用,然後確定。

這解決了我的問題。