-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Рассматриваем новый фреймворк взамен существующему (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');
});```