我需要自动化其余的 API。API 受 Spring 安全保护。
以下是验证代码:
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();
}
Run Code Online (Sandbox Code Playgroud)
用户登录并返回 302 状态,表示重定向。我找到了 cookie 并设置了一些全局变量。
现在,我使用请求设置 cookie:
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", …Run Code Online (Sandbox Code Playgroud)