Angularjs 如何使用量角器输入单个退格?

Angularjs 如何使用量角器输入单个退格?,angularjs,protractor,Angularjs,Protractor,我想使用.sendKeys()在输入字段中输入文本,然后退格一个字符。我曾尝试将以下代码与.sendKeys(gragrator.Key.BACK\u SPACE)一起使用,但它似乎清除了整个字段 我的测试: describe('backspace', function() { it('types some stuff and backspaces one character', function() { element(by.model('invoice.custome

我想使用
.sendKeys()
在输入字段中输入文本,然后退格一个字符。我曾尝试将以下代码与
.sendKeys(gragrator.Key.BACK\u SPACE)
一起使用,但它似乎清除了整个字段

我的测试:

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

    });
});
错误:
预期“”为“Ali Khod”。

有没有办法只退格一个字符

更新:

我也尝试了以下方法,因为默认情况下,
.sendKeys()
会返回一个承诺

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

            });

        });

    });
});

测试同样失败。

我找到的解决方法如下:

expect(元素(by.model('invoice.customerName')).getAttribute('value')).toBe('Ali Khod')

我没有使用
.getText()
,而是使用了
.getAttribute('value')

。getText()
返回所选元素开始标记和结束标记之间的所有内容:
只返回此内容
。因为输入是自动关闭的,所以getText()不返回任何内容。正确的方法,而不仅仅是一种解决方法是使用getAttribute('value'),它返回输入值'Ali Khod'。使用sendKeys(dragrator.Key.BACK_SPACE)对我来说效果很好。