Skip to content

Добавить возможность удаленного запуска автотестов при помощи CodeceptJS #53

@anurgalieva

Description

@anurgalieva

Рассматриваем новый фреймворк взамен существующему (nightwatchJS). Хотим, чтобы была возможность также легко работать с новым фреймворком. А именно:

  • легкая установка (скачать репу, установить testcafe), сразу работать;
  • удаленный запуск без пуша в репу (при локальной отладке).

На текущий момент есть такая инфа:
Maxim Samoilov commented 23 hours ago
Протестировал запуск через процесс на сервере

Работает с той же скоростью, как и запуск локально на макбуке (тест выполняется 25—30 секунд)
Требует пушить код в репозиторий
Попробовал протестировать запуск локального кода на удалённом браузере. Это можно делать через плагин testcafe-browser-provider-selenium, но у меня он не заработал. Можно и пофиксить его либо написать свой за несколько дней. По идее скорость там должна быть примерно такая же, так что предлагаю пока не тратить на это времени, можно будет попробовать потом, когда перейдём на Codecept

Пример автотеста:

const timerPage = require('./PageObject/timerPage')
const reportsPage = require('./PageObject/reportsPage')
const authPage = require('./PageObject/authPage')
Feature('Верхнеуровневая проверка');
Scenario('Aвторизация', ({ I }) => {
    I.amOnPage('https://preprod.tracker.csssr.cloud/app');
    I.seeElement(authPage.textField.email);
    I.fillField(authPage.textField.email, '[email protected]');
    I.fillField(authPage.textField.password, 'CSSSr123');
    I.click(authPage.button.signIn);
    I.seeInCurrentUrl('/app/timer');


    I.see('Timer'); 
    I.fillField(timerPage.textField.timerDescription, 'Трек для автотеста');
    I.click(timerPage.select.trackProject);
    I.fillField(timerPage.textField.projectInput, 'Autotest');
    I.click(timerPage.select.trackProjectOption);
    I.click(timerPage.button.start);
    I.seeElement(timerPage.button.stop);
    I.click(timerPage.button.timeDuration);
    I.fillField(timerPage.textField.timeDuration, '1:00:00');
    I.click(timerPage.button.acceptDuration);
    I.click(timerPage.button.stop);
    I.see('Трек для автотеста', timerPage.text.trackDescription)
    I.saveElementScreenshot(timerPage.text.trackDescription,'debug.png');   
});```

Metadata

Metadata

Assignees

No one assigned

    Labels

    BlockerБлокирует выполнение автотестовGeneralОбщие требования

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions