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)对我来说效果很好。