2014-12-25 13 views
5

Ich möchte .sendKeys() verwenden, um Text in ein Eingabefeld einzugeben, und rückt dann ein Zeichen zurück. Ich habe versucht, den folgenden Code mit .sendKeys(protractor.Key.BACK_SPACE) zu verwenden, aber es scheint, als ob es das gesamte Feld löscht.Wie man einen einzelnen Rückschritt mit Winkelmesser eingibt?

Mein Test:

describe('backspace', function() { 
    it('types some stuff and backspaces one character', function() { 
     element(by.model('invoice.customerName')).sendKeys('Ali Khoda'); 

     element(by.model('invoice.customerName')).sendKeys(protractor.Key.BACK_SPACE); 

     expect(element(by.model('invoice.customerName')).getText()).toBe('Ali Khod'); 

    }); 
}); 

Der Fehler: Expected '' to be 'Ali Khod'.

Gibt es eine Möglichkeit nur ein einzelnes Zeichen zu Zeichen zurückzugehen?

UPDATE:

Ich habe versucht, auch die folgenden seit .sendKeys() ein Versprechen standardmäßig zurück.

describe('backspace', function() { 
    it('types some stuff and backspaces one character', function() { 
     element(by.model('invoice.customerName')).sendKeys('Ali Khoda').then(function() { 

      element(by.model('invoice.customerName')).sendKeys(protractor.Key.BACK_SPACE).then(function() { 

       expect(element(by.model('invoice.customerName')).getText()).toBe('Ali Khod'); 

      }); 

     }); 

    }); 
}); 

Der Test schlägt fehl genau das gleiche.

+3

Die Verwendung von sendKeys (Winkelmesser.Key.BACK_SPACE) funktionierte gut für mich. – binarygiant

Antwort

0

Die Abhilfe, die ich war folgendes gefunden:

expect(element(by.model('invoice.customerName')).getAttribute('value')).toBe('Ali Khod');

Statt .getText() verwenden, benutzte ich .getAttribute('value').

+1

'.getText()' gibt alles zwischen den ausgewählten Elementen start und closing zurück: '

ONLY THIS WILL BE RETURNED
'. Da die Eingabe selbst abgeschlossen ist, gibt getText() nichts zurück. Der richtige Weg und nicht nur ein Workaround ist getAttribute ('value'), der den Inputwert 'Ali Khod' liefert. – nilsK

Verwandte Themen