【问题标题】:How to locate/click selector (button) using testcafe如何使用 testcafe 定位/单击选择器(按钮)
【发布时间】:2019-03-25 08:45:50
【问题描述】:

我正在尝试使用 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

【问题讨论】:

  • 您的测试对我有用,但单击按钮确实会触发 javascript 错误。您还可以添加测试失败时遇到的错误吗?

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


【解决方案1】:

试试这个解决方案:

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);行会出现错误,因为this.state.data是一个空对象

【讨论】:

    猜你喜欢
    • 2013-01-05
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2020-08-13
    相关资源
    最近更新 更多