121

私はこのChromeでSelenium WebDriverテストケースを実行するには?

WebDriver driver = new ChromeDriver(); 

を試してみましたが、私は

失敗したテストとして、エラーを取得しています。setup(com.TEST):ドライバの実行ファイルへのパスがwebdriver.chromeで設定する必要があります.driverシステムプロパティ。詳細については、http://code.google.com/p/selenium/wiki/ChromeDriverを参照してください。最新バージョンはhttp://code.google.com/p/chromedriver/downloads/listから

からダウンロードできます.Selenium-WebDriverのテストケースをテストするにはどうすればよいですか?

+0

http://code.google.com/p/chromedriver/downloads/listからセレンクロームドライバをダウンロードし、「Add External Jars」の下のeclipseのライブラリに追加したかどうかを知ることができれば助かります。あなたのセレンのJavaコードを実行する前に。 – Hemanth

答えて

204

あなたがから実行可能なドライバをダウンロードする必要がありますこれは最も役に立つガイドから抽出されました:https://sites.google.com/a/chromium.org/chromedriver/

+1

すごく感謝!それは私のためにうまくいった! –

+0

@aimbire:ねえ、私は同じ問題に直面しています。私は同じことをあなたから提案しましたが、このエラーが発生しました。 "java.lang.IllegalStateException:ドライバが実行可能ファイルが存在しません:D:\ selenimPRJarg1 \ chromedriver.exe"何か不足していますか? " – kTiwari

+0

Selenium Standalone Serverはhttp://docs.seleniumhqからダウンロードする必要があります。org/download /を開き、jarファイルをJavaプロジェクトの依存関係として追加します。 – dikirill

15

chromeDriverをフォルダにダウンロードし、このフォルダをPATH変数に追加する必要があります。 動作させるには、コンソールを再起動する必要があります。

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); 
WebDriver driver = new ChromeDriver(); 

:次に、あなたがする必要があるすべては(すでに正しい順序に示されている)ドライバオブジェクトを作成する前に、次を使用している ChromeDriver Download

19

here

からクロムドライバのアップデートバージョンをダウンロードしてください
public class Chrome { 

    public static void main(String[] args) { 

     System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe"); 
     WebDriver driver = new ChromeDriver();    
     driver.get("http://www.google.com"); 

    } 

} 

また、あなたはクロームドライバのexeファイルをダウンロードする必要がhere

+3

これは面倒な解決策です。あなたが今日使っているものなら、これを変更するようアドバイスします。 – aimbire

+1

ダウンロードリンクは現在古くなっています。 –

-2

をクリックした後の答えを見ることができます。 このリンクからダウンロードできます。あなたはクロームドライバをインストールする必要があり

https://sites.google.com/a/chromium.org/chromedriver/

System.setProperty("webdriver.chrome.driver", "path of chromedriver.exe"); 

ChromeDriver driver = new ChromeDriver();  
+0

クロムドライブをダウンロードして抽出します。次に、プロジェクト内にフォルダを作成し、chromedriverという名前を付けて.exeファイルを保存します。このパスを使用します。これは簡単なコード例です。 'code' System.setProperty( "webdriver.chrome.driver"、System.getProperty( "user.dir")+ "\\ chromedriver \\ chromedriver.exe"); \t \t WebDriverドライバ=新しいChromeDriver(); \t \t driver.get( "http://www.google.co.in"); \t \t WebElement searchbox = driver.findElement(By.name( "q")); \t \t searchbox.sendKeys( "best selenium v​​ideo tutorials free"); \t \t searchbox.submit(); – vinay

+0

この情報をvinayのコメントに追加してください。 – rcdmk

4

chromedriverhereの最新バージョンを探す

+1

これは1つかもしれませんが、NuGetのバージョンが古すぎます:2.10.0 10月13日付2014 –

+0

3月23日に古くなりました。最新のChromeで使用できません。 – willem

6

以下のようにあなたはナゲットを使用して、このパッケージをインストールすることができます。 ダウンロードしたら、Pythonインストールのルートに解凍します。たとえば、C:/Program Files/Python-3.5などです。それだけです。 パスをどこに指定したり、パスにchromedriverを追加する必要はありません。 私はちょうどきれいなPythonのインストールでそれをやって、それが動作します。

+2

悪いアドバイス...あなたのpythonのインストールを汚染しないでください –

+0

また、OPは決してPythonを指定していません –

4

あなたはセレンのWebドライバを使用してChromeでテストケースを実行するために以下のコードを使用することができます:

import java.io.IOException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 

public class ChromeTest { 

    /** 
    * @param args 
    * @throws InterruptedException 
    * @throws IOException 
    */ 
    public static void main(String[] args) throws InterruptedException, IOException { 
     // Telling the system where to find the Chrome driver 
     System.setProperty(
       "webdriver.chrome.driver", 
       "E:/chromedriver_win32/chromedriver.exe"); 

     WebDriver webDriver = new ChromeDriver(); 

     // Open google.com 
     webDriver.navigate().to("http://www.google.com"); 

     String html = webDriver.getPageSource(); 

     // Printing result here. 
     System.out.println(html); 

     webDriver.close(); 
     webDriver.quit(); 
    } 
} 
3

はクロムドライバの最新バージョンをダウンロードして、このコードを使用します。

System.setProperty("webdriver.chrome.driver", " path of chromedriver.exe"); 
WebDriver driver= new ChromeDriver(); 
driver.manage().window().maximize(); 
Thread.sleep(10000); 
driver.get("http://stackoverflow.com"); 
5

あなたが」 MacOSでhomebrewを使用している場合は、次のコマンドを使用できます:

brew install chromedriver 

他の構成。

0

上記のすべての答えは正しいですが、次に問題と解決策に少し深く潜んでいます。

クロムドライバ実行のために、例えばセレンでドライバコンストラクタドライバ実行可能

WebDriver driver = new ChromeDriver(); 

検索し、この場合のクロムドライバ検索は、ケースにサービスは、例外が

スローされる実行可能ファイルを見つけることができません

例外がチェックSTAが続き

/** 
    * 
    * @param exeName Name of the executable file to look for in PATH 
    * @param exeProperty Name of a system property that specifies the path to the executable file 
    * @param exeDocs The link to the driver documentation page 
    * @param exeDownload The link to the driver download page 
    * 
    * @return The driver executable as a {@link File} object 
    * @throws IllegalStateException If the executable not found or cannot be executed 
    */ 
    protected static File findExecutable(
     String exeName, 
     String exeProperty, 
     String exeDocs, 
     String exeDownload) { 
    String defaultPath = new ExecutableFinder().find(exeName); 
    String exePath = System.getProperty(exeProperty, defaultPath); 
    checkState(exePath != null, 
     "The path to the driver executable must be set by the %s system property;" 
      + " for more information, see %s. " 
      + "The latest version can be downloaded from %s", 
      exeProperty, exeDocs, exeDownload); 

    File exe = new File(exePath); 
    checkExecutable(exe); 
    return exe; 
    } 

(チェック状態方法に注意してください)から出番です

/** 
    * Ensures the truth of an expression involving the state of the calling instance, but not 
    * involving any parameters to the calling method. 
    * 
    * <p>See {@link #checkState(boolean, String, Object...)} for details. 
    */ 
    public static void checkState(
     boolean b, 
     @Nullable String errorMessageTemplate, 
     @Nullable Object p1, 
     @Nullable Object p2, 
     @Nullable Object p3) { 
    if (!b) { 
     throw new IllegalStateException(format(errorMessageTemplate, p1, p2, p3)); 
    } 
    } 

を溶液例外スローTE法:

System.setProperty("webdriver.gecko.driver", "path/to/chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 

を次のように、ドライバ・オブジェクトを作成する、次の前に、システムプロパティを設定するには、ドライバサービス検索(ChromeとFirefox用)のコードの断片であります

クローム:

ドライバの実行可能ファイルの210
@Override 
    protected File findDefaultExecutable() { 
     return findExecutable("chromedriver", CHROME_DRIVER_EXE_PROPERTY, 
      "https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver", 
      "http://chromedriver.storage.googleapis.com/index.html"); 
    } 

FireFoxの:CHROME_DRIVER_EXE_PROPERTYは= "webdriver.chrome.driver" とGECKO_DRIVER_EXE_PROPERTY = "webdriver.gecko.driver"

同様のは、以下、他のブラウザの場合である

@Override 
protected File findDefaultExecutable() { 
     return findExecutable(
     "geckodriver", GECKO_DRIVER_EXE_PROPERTY, 
     "https://github.com/mozilla/geckodriver", 
     "https://github.com/mozilla/geckodriver/releases"); 
    } 

利用可能なブラウザ実装のリストのスナップショットです。

enter image description here

関連する問題