テストの自動化に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日4:18:42 PM org.Apache.http.implからダウンロードできます。 client.DefaultRequestDirector tryExecute INFO:リクエストの処理中にI/O例外(Java.net.SocketException)がキャッチされました:ソフトウェアにより接続が中断されました:recv failed 2012年6月12日4:18:42 PM org.Apache.http .impl.client.DefaultRequestDirector tryExecute
誰かがこれを手伝ってくれますか?
システム上でInternetExplorerドライバーの実行可能ファイルが必要になります。ヒントのあるソースからダウンロードします( http://www.seleniumhq.org/download/ )解凍し、見つけられる場所に置きます。私の例では、C:\Selenium\iexploredriver.exe
に配置すると仮定します
次に、システムで設定する必要があります。 Seleniumプロジェクトから貼り付けたJavaコードは次のとおりです。
File file = new File("C:/Selenium/iexploredriver.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();
基本的に、このプロパティを設定する必要がありますbeforeドライバーを初期化します
エラーメッセージは言う
「ドライバの実行可能ファイルへのパスは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");
コード内。
ローカルマシンに依存しないように、ドライバーファイルをプロジェクトに直接配置しました。
final File file = new File("driver/chromedriver_2_22_mac");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
driver = new ChromeDriver();
春の場合:
File inputFile = new ClassPathResource("\\chrome\\chromedriver.exe").getFile();
System.setProperty("webdriver.chrome.driver",inputFile.getCanonicalPath());
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();