2016-05-27 11 views
0

Im Grunde findet das Problem in dem Moment statt, in dem ich einen Wert sende, der irgendwie an den Standardwert '01/01/2000 'angehängt wird. Ich habe verschiedene Möglichkeiten ausprobiert, ohne Erfolg zu haben, ich habe diese genauen Zeilen in anderen Skripten verwendet und es hat funktioniert, aber ich weiß nicht, warum das hier nicht funktioniert. Im Folgenden finden Sie den letzten Code, den ich verwendet habe, gefolgt von dem Bild mit dem angezeigten Problem.SendKeys() fügt Defaultwert (Issue) + Datetime-Wert hinzu

var targetStartDate = browser.driver.findElement(by.id('StartDate')); 
    targetStartDate.clear().then(function() {   
     targetStartDate.sendKeys('09/01/2016');   
    }) 

example of the issue

Vielen Dank im Voraus für jede Antwort.

Antwort

1

Sie können versuchen, clear() Anruf vor dem Senden Schlüssel Ausgabe:

targetStartDate.clear(); 
targetStartDate.sendKeys('09/01/2016'); 

Die andere Möglichkeit wäre, den gesamten Text im Eingang wählen vor dem Senden Tasten:

// protractor.Key.COMMAND on Mac 
targetStartDate.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a")); 
targetStartDate.sendKeys('09/01/2016'); 
0

ich das gleiche erlebt haben Problem vorher. Es gibt eine Eingabemaske, die die Eingabe im Feld formatiert. Um dies zu lösen, müssen Sie Ihren Test schreiben, als ob es die tatsächlichen Benutzer waren, mit der Formatierung im Sinn:

var targetStartDate = browser.driver.findElement(by.id('StartDate')); 
// Remove the forward slashes because the input field takes care of that. 
var inputDate = '09012016'; 

targetStartDate.clear(); 
// Loop through each character of the string and send it to the input 
// field followed by a delay of 250 milliseconds to give the field 
// enough time to format the input as you keep sending keys. 
for (var i = 0; i < inputDate.length; i++) { 
    targetStartDate.sendKeys(inputDate[i]); 
    browser.driver.sleep(250); 
} 

auf die Latenz der Website und die Leistung kann je nach benötigen Sie entweder die 250 zu verringern, Millisekunde Verzögerung, oder in der Lage sein, es zu verringern.

Hoffe, das hilft!

Verwandte Themen