#testing #automated-tests #e2e-testing #testcafe #web-testing
#тестирование #автоматизированные тесты #e2e-тестирование #testcafe #веб-тестирование
Вопрос:
Я написал тест, который проходит в 95% случаев, остальные 5% не выполняются. Я все еще не знаю, почему это не удается (я предполагаю, что компоненты отображаются некорректно).
Я реализовал вызов перезагрузки страницы, чтобы перезагрузить страницу и повторить попытку, но это не очень надежно.
Каков наилучший способ перезапустить устройство в случае сбоя?
Вот пример теста, который намеренно не эмулирует мой селектор, который работает большую часть времени, но иногда дает сбой.
import { Selector } from 'testcafe';
const URL = 'https://www.youtube.com/watch?v=RWQtB6Xv01Q';
fixture `Portal Experience playback`
.page `${URL}`;
test('Testing YouTube', async t => {
await t.click(Selector('.wrong-selector')); // to emulate my unstable test
});
Приводит к
✖ Testing YouTube
1) The specified selector does not match any element in the DOM tree.
Возможно ли поместить тест в цикл for и заставить его выйти из цикла в случае, если тест пройдет успешно?
Ответ №1:
Для этой цели служит режим карантина. В этом режиме TestCafe будет перезапускать неудачный тест снова, пока он не пройдет или не завершится с ошибкой 3 раза, и будет считать его неудачным, только если он завершится с ошибкой 3 раза. Получите более подробную информацию о режиме карантина в этой статье: Режим карантина.