簡體   English   中英

如何使用 selenium java 讀取 http 響應正文?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM