Testcafe найти элемент - PullRequest
       9

Testcafe найти элемент

1 голос
/ 24 мая 2019

Я провел свои первые базовые автоматизированные тесты с TestCafe.

import { Selector } from 'testcafe';

fixture `Ordner erstellen`
    .page `https://ifoerster.com/`;

test('New Test', async t => {
    await t
        .typeText(Selector('#email'), 'xxx', {
            caretPos: 0
        })
        .typeText(Selector('#password'), 'xxx', {
            caretPos: 0
        })
        .click(Selector('span').withText('Login'))

        //Find testref here
        .click(Selector('.np-top-section-tab.folder'))
        .click(Selector('.np-folder.new-category'))
        .typeText(Selector('[class^="ReactModal__Content ReactModal__Content--after-ope"]').find('.cl-input.cl-input-header'), 'testref')
        .click(Selector('.cl-button.cl-button.cl-button-animated'))
        .click(Selector('.np-folder-name[title="testref"]'))
        .click(Selector('.np-bottom-path-section').find('span').withText('Home'))
        .click(Selector('div').withText('testref').nth(9).find('.np-folder-fave'))
        .click(Selector('span').withText('testref'))
        .click(Selector('.cl-folder-delete'))
        .click(Selector('.cl-button.cl-button.cl-button-animated'))
        .click(Selector('.cl-popup-close'));
});

Теперь я пытаюсь найти элемент

.click(Selector('.np-folder-name[title="testref"]'))

в позиции //Find testref here.Если / однажды найден, я не хочу выполнять шаги новой категории после //Find testref here.

У меня вопрос, как я могу найти элемент на веб-странице и могу ли я добавить функцию if в качестве шага, чтобы игнорировать шаги, когда элемент найден?Как функция if или подобное?

1 Ответ

2 голосов
/ 24 мая 2019

Используйте условную логику в этом случае:

await t
        .typeText(Selector('#email'), 'xxx', {
            caretPos: 0
        })
        .typeText(Selector('#password'), 'xxx', {
            caretPos: 0
        })
        .click(Selector('span').withText('Login'))

        const testFefElement = Selector('.np-folder-name[title="testref"]');

        if (await testFefElement.exists) {
            // condition is true
        }
        else {
            // condition is false
        }
...