2011-08-08 10 views
4

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); 
      } 
     }; 
    } 

どのようなアイデアが違うのですか?

答えて

9

問題が見つかりました。Internet Explorerとリモートサーバーのセキュリティ上の問題です。これを修正するには、信頼できるサイトにリモートサーバーを追加するだけです(Tools > Options > Security Tab > Trusted Site

+0

私の問題を修正しました!これで私の髪を引っ張ってくれてありがとう。 – DaveHogan

+0

私にとっては、信じられないサイトに追加したときに、ただのものだったので、要素を見つけるのをやめました。 (Win7、IE8、webdriver 2.21) – hithwen

+0

詳しい手順については、次のURLをご覧ください:https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver –

関連する問題