2012-10-23 44 views
1

我正在爲ASP .NET Webforms應用程序開發大量測試。爲了做到這一點,我使用了InternetExplorerDriver的Selenium。click on InternetExplorerDriver Selenium無法正常工作

但是,我有一個問題,我無法解決。有時,當我調用元素的「單擊」方法時,點擊不起作用。在Internet Explorer中,該按鈕看起來像點擊過,但點擊事件不會在應用程序中觸發。你有好主意嗎 ?

最後一個問題:在回發完成Selenium時,您怎麼知道? WebForms和UpdatePanel使用回傳刷新內容。所以,我無法驗證一個特定元素的存在...

Thanx爲您的答案!

PS:我使用的是IE 9/IE 10和硒對於.NET 2.25.1

+0

只有特定的IE驅動程序問題? – Arran

+0

是的。與FirefoxDriver沒有問題 – user1767541

回答

0

我解決了這個問題,通過以下:

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

與元素進行交互這可能已經改嘗試fluentWait:上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;    }  ; 

細節,你可以得到here

所以假設你有元素應該用例如以下XPath:

String xPathElement ="blablabla"; 

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

希望這可以幫助你