Мне нужно автоматизировать остальные API. API обеспечен весной безопасности.Как настроить cookie с запросом, используя остальную информацию?
Ниже приведен код для аутентификации:
Response response = given().auth()
.form(userName, password, FormAuthConfig.springSecurity().withLoggingEnabled(new LogConfig(captor, true)))
.post("/home/xyz.html");
Assert.assertTrue("Error occurs", response.statusCode() == 302);
if (response.statusCode() == 302) {
Cookie cookie = response.getDetailedCookie("JSESSIONID");
result.actualFieldValue = "User Authenticated: Session ID ->" + cookie.getValue();
System.out.println("Cookie set : "+cookie.getValue());
apiTestSessionID = cookie.getValue();
}
Журналы пользователей в систему и вернуть 302 состояния, означает redirection.I нашел печенье и установить в некоторой глобальной переменной.
Теперь я установить печенье с просьбой:
RequestSpecification reqSpecification = new RequestSpecBuilder().addCookie("JSESSIONID", AbstractBaseClass.apiTestSessionID).build();
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("cstmrID", "000N0961");
parameters.put("pageNumber", "1");
parameters.put("pageSize", "10");
parameters.put("sortColumnName", "FIELD_NM");
parameters.put("sortDir", "asc");
parameters.put("filterColumnName1", "");
parameters.put("filterColumnName2", "USER_UPDT_EMAIL_ID");
parameters.put("filterValue2", "");
reqSpecification.queryParams(parameters);
Response response = given().spec(reqSpecification).when().get("/service/customerConfig").thenReturn();
System.out.println(response.asString());
Но в ответ я получаю входа в страницу HTML. Я не могу понять, где я делаю неправильно.
Предположения:
- Поскольку с запросом на пост, 302, он возвращается, мне нужно перенаправить к следующему URL-адресу, и после этого выполнить получить запрос с куки.
- Это правильный способ установить cookie с запросом.
- Нужно ли устанавливать заголовки с запросом. Если да, то следующая информация заголовка. Нужно ли устанавливать все из них?
GET /example.com/abc.html HTTP/1.1 Host: example.com Подключение: Keep-Alive Cache-Control: макс возраста = 0 Upgrade-Незащищенные-запросы: 1 User- Агент: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, например, Gecko) Chrome/55.0.2883.87 Safari/537.36 Принять: текст/html, application/xhtml + xml, application/xml; q = 0.9 , изображение/WebP, /; д = 0,8 Accept-Encoding: GZIP, выкачать, SDCH Accept-Language: EN-US, ан, Q = 0,8 печенье: JSESSIONID = C70A69F1C60D93DC3F8AC564BDE3F4DE.lon2mcaqaapp002; __utma = 185291189.2055499590.1460104969.1460104969.1460618428.2