Я ищу некоторые разъяснения о поведении retry until
и karate.configure retry.
Когда я устанавливаю глобальную повторную попытку в конфигурации каратэ: karate.configure('retry', { count: 3, interval: 5000 });
karate.configure('connectTimeout', 5000);
karate.configure('readTimeout', 10000);
я бы ожидайте, что это повторит любые сбойные HTTP-запросы без необходимости «повторять до логики / кода» на уровне функций.
Когда я запускаю набор тестов и запрос получает тайм-ауты чтения, я не вижу, чтобы набор выполнял повтор :
2: 53: 42.491 [main] ОШИБКА com.intuit.karate - java. net .SocketTimeoutException: Тайм-аут чтения, ошибка http после 10008 миллисекунд для URL: http://sports/list 12: 53: 42.495 [main] ОШИБКА com.intuit.karate - запрос http не выполнен:
java. net .SocketTimeoutException: чтение тайм-аута
функция: classpath: features / list.feature
scenar ios: 11 | прошло: 10 | не удалось: 1 | время: 55.7829
HTML отчет: (вставьте в браузер для просмотра) | Версия для каратэ: файл 0.9.4: /usr/src/app/test/functional/target/surefire-reports/features.list.html
Даже когда я добавляю Background:
* retry until responseStatus == 200
в этой функции, тест все еще не запускает повторную попытку.