私はここからJDKをインストール:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (Windowsのx64のためのこのバージョン:Java SEの開発キット8u151)セレンwebdriverを+ Javaは - Eclipseの:java.lang.NoClassDefFoundErrorの
私はここからEclipseをダウンロード: http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/oxygenr ( Windowsの64ビット版)
私は、Eclipseで新しいプロジェクト開く:その後、私は、ここからセレンJavaのjarファイルをダウンロードしたファイル - >新規作成> Javaプロジェクト
を: http://www.seleniumhq.org/download/ ---> Java言語
私は自分のプロジェクト - >プロパティ - > Javaビルドパス - >ライブラリタブ - >外部JARを追加...をクリックしてEclipseで - >私は "SeleniumDrivers \ Java"ライブラリ(そこにすべてのJARS私は)ダウンロードしたこと - >私はそこにすべてのファイルをチェックする: these files
私は「OK」をクリックし、日食
で新しいクラスを作成した後、私はここからchromedriverをダウンロード:http://www.seleniumhq.org/download
私は解凍しましたそれをここに保存しました:C:\ Selenium \ Drivers
これは私のスクリプトです:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hi there\n");
System.setProperty("webdriver.chrome.driver",
"C:/Selenium/Drivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com");
}
}
あなたが見ることができるように、これはChromeブラウザを開き、ログインfacebookに移動し、非常に基本的なスクリプトです。
私はこのスクリプトを実行すると、このエラーを得た:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/config/RegistryBuilder
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:69)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:57)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:60)
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:242)
at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.<init>(ApacheHttpClient.java:219)
at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:93)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:72)
at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:63)
at org.openqa.selenium.chrome.ChromeDriverCommandExecutor.<init>(ChromeDriverCommandExecutor.java:36)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at MainClass.main(MainClass.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.http.config.RegistryBuilder
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)
... 13 more
私はあなたが私が私の基本的なスクリプトを実行することができるようになりますように、それを解決するために助けてくださいすることができ、この問題を解決する方法がわかりませんか?
Gradleのようなビルドシステムを使用したことはありますか?これにより、依存関係を手動で管理する必要がなくなります。 あなたが取得したjarファイルのように見えます。具体的には、プロジェクトに追加したjarファイルには、RegistryBuilderクラスがあるライブラリは含まれていません。そのクラスはApache HttpCore jarファイルにあります。あなたがそれを含めていることを確認するために周りを見回し、必要に応じてダウンロードして結果に影響を与えるかどうかを確認してください。 –
こんにちは、ありがとう、私はそれが私が推測する問題ではないので、それを含めた –
ダウンロードしたwebdriver jarバンドルの一部として提供されましたか?あるいは、それを別のエンティティとしてダウンロードしましたか?別にダウンロードした場合は、使用しているウェブドライバのバージョンと互換性のあるバージョンであることを確認してください。どのようなjarがそのクラス定義を持つことが期待されていても問題はありませんし、修正は非常に可能性があります。 –