Как найти / нажать селектор (кнопку) с помощью testcafe

#javascript #button #automated-tests #e2e-testing #testcafe

#javascript #кнопка #автоматизированные тесты #e2e-тестирование #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 нажать кнопку?

Большое спасибо.

Ссылка на сайт

Комментарии:

1. Ваш тест работает для меня, хотя нажатие кнопки вызывает ошибку javascript. Можете ли вы также добавить ошибку, которую вы получаете при сбое теста?

Ответ №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 это пустой объект