#api #rest-assured #web-api-testing
#API #будьте уверены #web-api-тестирование
Вопрос:
Я работаю над тестированием API с помощью Rest-Assured, и мои сценарии: 1. Загрузка 2. Получение содержимого
Я попытался добавить
RestAssured.given().auth().basic(userName, password)
Он не аутентифицирует меня и не устанавливает заголовок, я получаю сообщение об ошибке аутентификации.
Я также попытался добавить
RestAssured.given().header("authorization", ConfigHelper.getString(user));
Получаю ту же ошибку. Единственное, что сработало для меня, это ,
getRequest().header("authorization", ConfigHelper.getString(user));
Но проблема, с которой я сталкиваюсь при использовании GetRequest, заключается в том, что я не могу сбросить запрос со сценариями 1 и 2, поэтому, если я установил авторизацию в scenario1 и когда я пытаюсь пройти аутентификацию в сценарии 2, он дублирует аутентификацию в заголовке и выдает мне
Неверный запрос
ошибка. Есть ли способ, которым я мог бы сбросить заголовок?
Комментарии:
1. Вы пробовали given().auth().preemptive().basic(«имя пользователя», «пароль»)?
2. Да, @Wilfred Clement, это тоже не работает. Я получаю ошибку 401 при проверке подлинности
3. Это удивительно, для повторной уверенности — Вы уверены, что пробовали .preemptive() ?
4. Да, я использовал RestAssured.given().auth().preemptive().basic(«Имя пользователя, пароль). это не помогло, поэтому я добавил this.setRequest(RestAssured.given().auth().preemptive().basic(«Имя пользователя, пароль)), это сработало, но теперь проблема в загрузке, я устанавливаю content-type в multipart form-data, он не подбирается, я пытался добавить
this,setRequest(RestAssured.given().auth().preemptive().basic("userName,password).contentType("multipart/form-data)
, но получаю в Content-Type отсутствует составной граничный параметр5. @Wilfred Clement решил упомянутую выше проблему, мне не хватало для передачи граничного параметра, теперь это работает. Спасибо
Ответ №1:
this.setRequest(RestAssured.given().auth().preemptive().basic(userName, password)
.header("Content-type", "multipart/form-data")
.multiPart("file", new File(pathToFile, "application/json"));
Комментарии:
1. Краткое объяснение / комментарии к вашему коду были бы великолепны.