Как дождаться загрузки файла, прежде чем перейти к следующему тесту в TestCafe - PullRequest
2 голосов
/ 07 марта 2019

Это своего рода тест, который я пытаюсь запустить в тестовом кафе v1.0.1, я относительно новичок в этом.

Это мой файл test.js, в котором у меня есть три разных теста R03, R05, R06 каждый после нажатия на кнопку SUBMIT загружает файл EXCEL.

Но до окончания загрузки браузер закрывается и переходит к следующему тесту.

Как я могу позволить браузеру дождаться загрузки документа, прежде чем перейти к следующему тесту (скажем, в моем случае r05)?

import { Selector } from 'testcafe';

fixture `First Fixture`
    .page `http://devexpress.github.io/testcafe/example`;

test('R03', async t => {
    await t  
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Year_1'))
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Location_1'))
        .click(Selector('span').withText('SUBMIT'))
 });
test('R05', async t => {
    await t
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Year_2'))
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Location_2'))
        .click(Selector('span').withText('SUBMIT'))
 });

test('R06', async t => {
    await t
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Year_3'))
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Location_3'))
        .click(Selector('span').withText('SUBMIT'))
 });

1 Ответ

3 голосов
/ 07 марта 2019

Не идеальное решение, но простое и должно работать, если установить соответствующее время ожидания.

test('R03', async t => {
    await t  
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Year_1'))
        .click(Selector('[data-bind^="css:{ \\\'dx-state-disabled\\\'].find('div').withText('Location_1'))
        .click(Selector('span').withText('SUBMIT'))
        .wait(60000); // in ms
 });

Другим решением было бы написание функции для проверки наличия файла в каталоге - см. Ответы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...