Продолжаем усовершенствовать наш проект, одно из полезных навыков это перезапустить упавший тест. А если он это сделает ещё и автоматически, то будет просто прекрасно. Мы уже разобрали с 0 как настроить дополнительные методы на перезапуск, сегодня продолжим.
Метод перезапуска тестов
Вернёмся сначала к данному методу. Наши тесты в дальнейшем будут всегда запускаться на удалённом сервере, который стоит на Linux. А файлы в линукс немного отличаются.
Наш файл называется RebaseTestLocal.bat, на Линукс нужно другое расширение RebaseTestLocal.sh.
Давайте сделаем так, чтобы проект сам понимал какой файл ему использовать.
Нужно лишь добавить какой то параметр или переменную, по которой это можно будет делать.
Если эта переменная будет заполнена каким либо значением (это будет только в том случае, если мы запускаем тесты на сервере), то будем везде использовать расширение sh.
Всё что нужно сделать это добавить условие в метод
Таким образом проект будет заглядывать только в нужных файл.
Но нужно понимать, что сам запуск тестов, тоже немного изменится, поэтому строку запуска также изменим. Для этого можете освежить знания статьей:
Про то как это, когда запускаешь тесты удалённо и как нужно изменить проект, рассказывал тут
Для удалённого запуска будет выглядеть так
И сам метод приобретает следующий вид.
По факту он изменился только тем, что зависит от переменной remote_url_chrome, если пустая, то запускаем локально через пк, если заполнена, значит мы на сервере и запускаем через другой файл и строку запуска.
Если нам не нужно использовать данный функционал, мы просто сделаем зависимость от другой переменной.
Запустим наш ошибочный тест и посмотрим что произошло.
Наш тест падает и записывает информацию в нужный файл
Теперь заполним переменную
И запустим тест повторно, предварительно очистив my.properties.
И у нас автоматически создаётся файл и запишется другое значение.
Как всегда весь код вы можете взять здесь:
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний! Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!