2016-04-15 70 views
0

我有一個web自動化框架設置,工作得很好。雖然在使用SendKeys寫入文本框時,我經常會遇到一個問題,但通常會丟失一個字母。例如,如果我的數據集是「TestUserName」,那麼像「TestUerName」這樣的東西會被髮送一個缺少字母的例子。selenium webdriver sendkeys間歇性問題

這對我來說是一個很大的問題,因爲在Web測試成功結束之後,我會進一步檢查數據庫是否已正確更新。所以在上面的例子中,我將轉到UserName列並希望找到TestUserName,但測試會失敗,因爲找到TestUerName。

有什麼想法嗎?我使用硒2.53.0。

我的代碼如下。

public void inputValue (Object [][] valuesFromExcel) 
{       
    for (int rowNow = 0; rowNow < (valuesFromExcel.length); rowNow++) 
    { 
     String newValue = valuesFromExcel[rowNow][0].toString(); 
     if (!newValue.equals("")) 
     { 
      WebElement currentElement = driver.findElement(By.id(valuesFromExcel[rowNow][1].toString())); 

      if (currentElement.getTagName().equals("input")) 
      {      
       currentElement.sendKeys(newValue); 
      } 
      else if (currentElement.getTagName().equals("select")) 
      {     
       new Select(currentElement).selectByVisibleText(newValue);      
      }        
     } 
    }   
} 

謝謝。

+0

PLZ更新你的硒最新是2.53我猜 –

+0

請(現在,一般)告訴我們你的代碼之前更改問題執行更新。這不會是一個硒錯誤(雖然2.44有點舊)。 –

+0

添加代碼:) – Dragonfly

回答

0

不是以字符串形式發送,而是以字符形式發送它... 將字符串轉換爲char並將每個char逐個發送到文本框。是的,會有性能問題,但它工作正常。它不會跳過任何字母