使用TestCafe从HTML5日期输入中删除值?

时间:2019-06-21 14:31:40

标签: html automated-tests e2e-testing web-testing testcafe

设置好之后,我似乎无法使用TestCafe删除HTML5 date input中的值。到目前为止,我已经尝试过typeTextpressKeytypeText用于设置新日期,但不能输入空字符串,而将pressKey与delete和Backspace一起使用时,不会像手动执行相同操作那样删除值。我也不知道如何单击字段本身上的x。

是否存在我遗漏/做错的事情,或者这不可能吗?

typeText

test('typeText', async t => {
    await t
        .typeText('#dateField', '', { replace: true });

    await t
        .expect(Selector('#dateField').value).eql('');
});

1) The "text" argument is expected to be a non-empty string, but it was "".

pressKey

test('pressKey', async t => {
    await t
        .click('#dateField')
        .pressKey('delete'); // 'backspace' also does not work

    await t
        .expect(Selector('#dateField').value).eql('');
});

1) AssertionError: expected '2019-05-02' to deeply equal ''

1 个答案:

答案 0 :(得分:3)

根据TestCafe's typing formats用于HTML5输入,您可以通过以下方式使用typeText操作:

test('test', async t => {
    await t
        .typeText('#start', '2017-12-23')
        .expect(Selector('#start').value).eql('2017-12-23')
 
        .typeText('#start', '    -  -  ')
        .expect(Selector('#start').value).eql('');
});