加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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’).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读