webdriverに奇妙な問題があります。私はテストを行うためのローカル環境とリモート環境を持っています。両方の環境でFirefoxでうまく動作しますが、Internet Explorer 8ではローカルでしか動作しません。WebdriverがリモートのIEで要素を見つけられない
リモートサーバーに対してテストを実行するたびに、ログインするためのテキストボックス要素が見つからない場合もあります。私は要素を見つけるのを待っているし、分まで時間を増やそうとしましたが、何もしませんでした。私は、IEの要素をソースコードを参照して見ることができます。私はそれらの両方から生成されたHTMLを比較しても同じです。
私は私が使用している要素を取得するにはJBehave(セレン-IE-ドライバー-2.0b3とJBehave-ウェブセレン-3.3.4)
を通じてセレンを使用しています:
public WebElement getElementById(String elementId){
return getMyWaiter()
.waitForMe(By.id(elementId), TEST_DELAY_IN_S);
}
public WebElement waitForMe(By locator, int timeout) {
WebDriverWait wait = new WebDriverWait(driver, timeout);
return wait.until(Waiter.presenceOfElementLocated(locator));
}
public static Function<WebDriver, WebElement> presenceOfElementLocated(
final By locator) {
return new Function<WebDriver, WebElement>() {
@Override
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
};
}
どのようなアイデアが違うのですか?
私の問題を修正しました!これで私の髪を引っ張ってくれてありがとう。 – DaveHogan
私にとっては、信じられないサイトに追加したときに、ただのものだったので、要素を見つけるのをやめました。 (Win7、IE8、webdriver 2.21) – hithwen
詳しい手順については、次のURLをご覧ください:https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver –