如何使用testcafe查找/单击选择器(按钮)

时间:2019-03-25 08:45:50

标签: javascript button automated-tests e2e-testing testcafe

我正在尝试使用testcafe测试应用程序的提交。但是,我似乎无法获得testcafe来单击“提交申请”。

到目前为止,我已经尝试了以下方法:

.click(Selector('button').withText('Submit Applicaition'))
.click('#submit-application').withText('Submit Application')

还有更多选择。

我什至无法得到testcafe来找到按钮

import {Selector} from 'testcafe';

fixture `MES login`
 .page `http://mes.coeo.com.au/`;

test('FindButton', async t => {

    await t
    .wait(2000)
        .navigateTo('/le12625-senior-exploration-geologist')
    .wait(2000);

    const one = await Selector('#submit-application');

    const two = one.exists;

    await t
        .expect(two).ok()

    await t
    .wait(5000)
        .click(Selector(one));
}

谁能帮我解释这是我的testcafe脚本还是网站的构建方式,以及如何使testcafe单击该按钮?

非常感谢。

Link to site

1 个答案:

答案 0 :(得分:4)

尝试以下解决方案:

test('FindButton', async t => {
    const submitButton = Selector('div#submit-application');
    await t
        .navigateTo('/le12625-senior-exploration-geologist')
        .expect(submitButton.with({visibilityCheck: true}).exists)
        .ok({timeout: 30000})
        .hover(submitButton)
        .click(submitButton);

});

并将--skip-js-errors添加到TestCafe命令行选项中,因为在提交时不输入任何字段,由于console.log(this.state.data['State'].value);是一个空对象