You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Привет.
Если отправлять один и тот же эндпоит два раза подряд, но заполнять разные параметры, то происходит неочевидное поведение - подставляются еще и параметры из первого запроса.
Например, при тестировании поиска есть эндпоинт с двумя полями (на самом деле их более 10):
В этом случае при отправке второго запроса будет заполнено еще и первое поле (search[status_not_eq]) - это происходит потому что в методе:
public static EndpointEntry getEndpoint(String title) {
if (null == EndpointContext.getCurrentEndpoint() || !EndpointContext.getCurrentEndpointTitle().equals(title)) {
return getEndpointFromCache(title);
}
return EndpointContext.getCurrentEndpoint(); - ПРОБЛЕМА ТУТ
}
будет браться текущий инстанс эндпоинта с уже заполненными полями из текущего запроса.
Сейчас сделали костыльный вариант - добавили еще один шаг, который пустой эндпоинт добавляет в текущий контекст. Но это выражается в том, что надо не забывать вызывать этот шаг в тесте, ну и тест выглядит уже не так изящно:
При разработке автотеста я ожидаю что при каждом выполнении шага "*отправляет запрос "Поиск" с параметрами" будет создаваться новый инстанс эндпоинта - это логичное и очевидное поведение.
Подскажите, пожалуйста, зачем берется текущий инстанс эндпонта в вашем методе public static EndpointEntry getEndpoint(String title)
The text was updated successfully, but these errors were encountered:
Привет.
Если отправлять один и тот же эндпоит два раза подряд, но заполнять разные параметры, то происходит неочевидное поведение - подставляются еще и параметры из первого запроса.
Например, при тестировании поиска есть эндпоинт с двумя полями (на самом деле их более 10):
в тесте последовательно выполняет поиск сначала с одним параметром, потом с другим:
В этом случае при отправке второго запроса будет заполнено еще и первое поле (search[status_not_eq]) - это происходит потому что в методе:
будет браться текущий инстанс эндпоинта с уже заполненными полями из текущего запроса.
Сейчас сделали костыльный вариант - добавили еще один шаг, который пустой эндпоинт добавляет в текущий контекст. Но это выражается в том, что надо не забывать вызывать этот шаг в тесте, ну и тест выглядит уже не так изящно:
При разработке автотеста я ожидаю что при каждом выполнении шага "*отправляет запрос "Поиск" с параметрами" будет создаваться новый инстанс эндпоинта - это логичное и очевидное поведение.
Подскажите, пожалуйста, зачем берется текущий инстанс эндпонта в вашем методе public static EndpointEntry getEndpoint(String title)
The text was updated successfully, but these errors were encountered: