繁体   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