1

ASP.NETWebformsアプリケーション用に多くのテストを開発しています。これを行うために、私はInternetExplorerDriverでSeleniumを使用しています。

しかし、私には解決できない問題があります。要素の「クリック」メソッドを呼び出すと、クリックが機能しない場合があります。Internet Explorerでは、ボタンはクリックされたように見えますが、アプリケーションではクリックイベントは発生しません。アイデアはありますか?

最後の質問:ポストバックがSeleniumで終了している間、どのようにして知ることができますか?WebFormsとUpdatePanelは、ポストバックを使用してコンテンツを更新します。したがって、特定の要素の存在を確認することはできません...

あなたの答えに感謝します!

PS:IE 9 /IE10とSeleniumFor.NET2.25.1を使用しています

4

1 に答える 1

0

この問題を次の方法で解決しました。

 driver.findElement(By locator).sendKeys("\n");

おそらく変更された要素とやり取りするには、fluentWait を試してください:

 public WebElement fluentWait(final By locator){
            Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
                    .withTimeout(30, TimeUnit.SECONDS)
                    .pollingEvery(5, TimeUnit.SECONDS)
                    .ignoring(org.openqa.selenium.NoSuchElementException.class);
            WebElement foo = wait.until(
                    new Function<WebDriver, WebElement>() {
                        public WebElement apply(WebDriver driver) {
                            return driver.findElement(locator);
                        }
                    }
            );
            return  foo;              }     ;

fluentWait の詳細はこちらから入手できます

したがって、たとえば次のxPathで変更されるはずの要素を取得したとします。

String xPathElement ="blablabla";

fluentWait(By.xpath(xPathElement)).sendKeys("\n");

これがあなたに役立つことを願っています

于 2012-10-23T10:50:15.413 に答える