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