2014-12-25 12 views
5

Giriş alanına metin girmek için .sendKeys() kullanmak istiyorum ve sonra bir karakteri geri ayıklar. Aşağıdaki kodu .sendKeys(protractor.Key.BACK_SPACE) ile kullanmayı denedim, ancak tüm alanı temizler gibi görünüyor.İletki ile tek bir arka alana nasıl girilir?

Benim testi:

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

    }); 
}); 

hatası: Expected '' to be 'Ali Khod'.

sadece tek bir karakter backspace için bir yolu var mı?

GÜNCELLEME:

Ben de .sendKeys() varsayılan olarak bir söz verir beri takip denedim.

Bu sınama başarısız oluyor. Bulduğum

+3

SendKeys (protractor.Key.BACK_SPACE) kullanmak benim için gayet iyi çalıştı. – binarygiant

cevap

0

geçici çözüm şuydu: Yerine .getText() kullanmanın

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

, ben .getAttribute('value') kullandı.

+1

'.getText()' seçili öğeler arasında başlangıç ​​ve kapanış etiketleri arasındaki her şeyi döndürür: '

ONLY THIS WILL BE RETURNED
'. Giriş kendi kendine kapanıyor olduğundan, getText() hiçbir şey döndürmez. Doğru bir yol değil, sadece bir geçici çözüm getAttribute ('value') kullanarak değil, 'Ali Khod' giriş değerini döndürür. – nilsK