Nano Hash - криптовалюты, майнинг, программирование

Как найти / щелкнуть селектор (кнопку) с помощью 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 нажать кнопку?

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

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


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

Ответы:


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 является пустым объектом

25.03.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..