58

テストの自動化にSeleniumを使用しています。私のアプリケーションはIEのみを使用しており、他のブラウザでは動作しません。

コード:

import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class Test {
    public static void main(String[] args) {
        final String sUrl = "http://www.google.co.in/";                             
        System.setProperty("webdriver.chrome.driver","C:\\Users\\vthaduri\\workspace\\LDCSuite\\IEDriverServer.exe");
        WebDriver oWebDriver = new InternetExplorerDriver();
        oWebDriver.get(sUrl);
        WebElement oSearchInputElem = oWebDriver.findElement(By.name("q")); // Use name locator to identify the search input field.
        oSearchInputElem.sendKeys("Selenium 2");
        WebElement oGoogleSearchBtn = oWebDriver.findElement(By.xpath("//input[@name='btnG']"));  
        oGoogleSearchBtn.click();

        try {
            Thread.sleep(5000);
        } catch(InterruptedException ex) {
            System.out.println(ex.getMessage());
        }
        oWebDriver.close();
    }    
}

そして、これが私が得ているエラーです

ドライバー実行可能ファイルへのパスは、webdriver.ie.driverシステムプロパティで設定する必要があります。詳細については、https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriverを参照してください。最新バージョンは、 http://www.seleniumhq.org/download/からダウンロードできます。 2012年6月12日16:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO:I / O例外(java。 net.SocketException)リクエストの処理中にキャッチ:ソフトウェアが接続の中止を引き起こしました:recvが失敗しました2012年6月12日16:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute

誰かがこれについて私を助けることができますか?

4

5 に答える 5

74
  1. システム上で実行可能なInternetExplorerドライバーが必要になります。したがって、ヒント付きのソース(http://www.seleniumhq.org/download/)からダウンロードして解凍し、見つけられる場所に配置します。私の例では、あなたがそれをC:\Selenium\iexploredriver.exe

  2. 次に、システムに設定する必要があります。これが私のSeleniumプロジェクトから貼り付けられたJavaコードです。

    File file = new File("C:/Selenium/iexploredriver.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
    WebDriver driver = new InternetExplorerDriver();
    

基本的に、ドライバを初期化する前にこのプロパティを設定する必要があります

于 2012-06-12T12:08:44.060 に答える
13

エラーメッセージには

「ドライバ実行可能ファイルへのパスは、 webdriver.ie.driverシステムプロパティで設定する必要があり ます。」

「 webdriver.chrome.driver」プロパティを使用してChromeドライバーのパスを設定しています。InternetExplorerDriverの場合、ファイルの場所を設定していません。そのためには、「webdriver.ie.driver」プロパティを設定する必要があります。

これらのプロパティは、シェル、Maven、またはIDEで-DpropertyName=Valueを使用して設定できます。

-Dwebdriver.ie.driver="C:/.../IEDriverServer.exe" 

Windowsマシンのパスにはスペースまたはスラッシュがあるため、引用符を使用する必要があります。または、スラッシュを逆にする必要があります。逆の場合は、文字列文字列のエスケーププレフィックスです。

あなたも使うことができます

System.setProperty("webdriver.ie.driver","C:/.../IEDriverServer.exe"); 

コード内。

于 2012-06-12T12:06:44.920 に答える
2

ローカルマシンへの依存関係を取得しないように、ドライバーファイルをプロジェクトに直接配置しました。

final File file = new File("driver/chromedriver_2_22_mac");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());

driver = new ChromeDriver();
于 2016-07-25T08:19:50.427 に答える
1

春の場合:

File inputFile = new ClassPathResource("\\chrome\\chromedriver.exe").getFile();
System.setProperty("webdriver.chrome.driver",inputFile.getCanonicalPath());
于 2014-04-02T08:50:30.050 に答える
0

システムに実行可能なInternetExplorerドライバーをダウンロードし、ダウンロード後にソース(http://code.google.com/p/selenium/downloads/list)からダウンロードして解凍し、どこかに配置する必要があります。コンピューター。私の例では、D:\iexploredriver.exeに配置します

次に、Eclipseのメインクラスに以下のコードを記述します

   System.setProperty("webdriver.ie.driver", "D:/iexploredriver.exe");
   WebDriver driver = new InternetExplorerDriver();
于 2014-01-07T18:25:32.813 に答える