angularjs – 如何使用Protractor输入单个退格?
发布时间:2020-12-17 18:03:57 所属栏目:安全 来源:网络整理
导读:我想使用.sendKeys()在输入字段中输入文本,然后对一个字符进行退格.我尝试使用.sendKeys(protractor.Key.BACK_SPACE)使用以下代码,但它似乎清除了整个字段. 我的测试: describe('backspace',function() { it('types some stuff and backspaces one characte
我想使用.sendKeys()在输入字段中输入文本,然后对一个字符进行退格.我尝试使用.sendKeys(protractor.Key.BACK_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'); }); }); 错误:预计”成为’阿里·霍德’. 有没有办法只退一个字符? 更新: 我也尝试了以下内容,因为.sendKeys()默认返回一个promise. describe('backspace',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(element(by.model(‘invoice.customerName’)).getAttribute(‘value’)).toBe(‘Ali Khod’); 我没有使用.getText(),而是使用了.getAttribute(‘value’). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |