[英]How can I read http response body using selenium java?
我需要使用 selenium 和 Z93F725A07423FE1C889F448B33 讀取 API 響應 JSON 文件。 在得到 http 請求的響應之前,我已經得到了代碼。 但不確定如何進一步深入並獲取消息正文。
如果我清楚地理解了您的問題,那么您就是在要求閱讀並驗證您得到的回復。
最佳實踐是為您的響應創建 pojo class。 例如,如果您的回復采用以下格式
{
"response":{
"userId": 1,
"firstName": "Suhail",
"lastName": "Ahmed",
}
"data": {},
"timestamp": "2022-07-27T11:21:55.347Z"
}
您需要為此創建一個 pojo class 。
GetUserDetailsResponse.java
public class GetUserDeatilsResponse {
private UserDeatilsResponseAttr response;
private String data;
private String timestamp;
public UserDeatilsResponseAttr getUserDeatilsResponseAttr() {
return response;
}
public void setUserDeatilsResponseAttr(UserDeatilsResponseAttr response) {
this.response = response;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
UserDetailsResponseAttr.java
public class UserDeatilsResponseAttr{
private int userId;
private String firstName;
private String lastName;
public int getFirstName() {
return userId;
}
public void setFirstName(int userId) {
this.userId = userId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
並驗證 lastName 字段,在您的測試 class 中調用如下響應
測試.class
public class Test{
@Test
public void test1(){
// get your response here
GetUserDeatilsResponse userDetailsResponse = response.as(GetUserDeatilsResponse.class);
System.out.println(userDetailsResponse.getUserDeatilsResponseAttr.getLastName())
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.