如何使用 testcafe 定位/单击选择器(按钮)

1 javascript automated-tests button e2e-testing testcafe

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

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

.click(Selector('button').withText('Submit Applicaition'))
.click('#submit-application').withText('Submit Application')
Run Code Online (Sandbox Code Playgroud)

还有一些选择。

我什至无法让 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));
}
Run Code Online (Sandbox Code Playgroud)

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

非常感谢。

网站链接

hdo*_*val 5

试试这个解决方案:

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);

});
Run Code Online (Sandbox Code Playgroud)

并添加--skip-js-errors到TestCafe命令行选项中,因为当你提交时没有输入任何字段,console.log(this.state.data['State'].value);由于this.state.data是空对象,所以在线错误