2016-04-15 16 views
0

Ich habe ein Web-Automatisierungs-Framework eingerichtet, das ziemlich gut funktioniert. Ich habe jedoch ein ständiges Problem, dass bei der Verwendung von SendKeys zum Schreiben in Textboxen oft ein Brief verpasst wird. Wenn meine Datenmenge beispielsweise "TestUserName" lautet, wird beispielsweise "TestUerName" mit einem fehlenden Buchstaben gesendet.selen webdriver sendkeys intermittierende Ausgabe

Dies ist ein großes Problem für mich, als nach dem erfolgreichen Abschluss der Web-Tests ich weiter überprüfen, ob die Datenbank ordnungsgemäß aktualisiert wurde. Im obigen Beispiel würde ich also in die Spalte UserName gehen und erwarten, TestUserName zu finden, aber der Test würde fehlschlagen, weil TestUerName stattdessen gefunden wird.

Irgendwelche Ideen bitte? Ich verwende Selen 2.53.0.

Mein Code unten.

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

Danke.

+0

PLZ Update Ihr Selen neuesten ist 2.53 Ich denke –

+0

Bitte (jetzt und im Allgemeinen) zeigen Sie uns Ihren Code vor dem Ändern des Problems durch die Durchführung von Updates. Es wird kein Selenium-Bug sein (obwohl 2.44 ein bisschen alt ist.) –

+0

Den Code hinzugefügt :) – Dragonfly

Antwort

0

Anstatt als Zeichenfolge zu senden, senden Sie es als Zeichen ... Konvertieren Sie die Zeichenfolge in Zeichen und senden Sie jedes Zeichen einzeln nach dem Textfeld. Ja, es wird ein Leistungsproblem geben, aber es funktioniert gut. Es überspringt keinen der Buchstaben