您的位置:首页 > 编程语言 > Java开发

java实现自动化测试接口访问(一)

2017-12-25 14:15 423 查看
一、前置准备:

PostMan

访问的网站:Github

访问的接口:

https://api.github.com/search/commits?q=committer-date:2017-11-27..2017-12-01&page=1&per_page=100

实现访问:查找2017-11-27到 2017-12-01的100条数据

二、代码实现

1. 使用PostMan输入访问的接口,取得需要的字段,items,和items中repository的字段id,和full_name(可以自己获取想要的字段)



java类

(1)、CommitRepo

public class CommitRepo {
private String id;
private String full_name;
@Override
public String toString() {
return "CommitRepo [id=" + id + ", full_name=" + full_name + "]";
}
public String getId() {
return id;
}
public String getFull_name() {
return full_name;
}
}


(2)、CommitItems

public class CommitItems {
private CommitRepo repository;//名字要一样(repository)

public CommitRepo getRepository() {
return repository;
}

@Override
public String toString() {
return "CommitItems [repository=" + repository + "]";
}

}


(3)、GithubCommitsResult

public class GithubCommitsResult {
private CommitItems[] items;

public CommitItems[] getItems() {
return items;
}

@Override
public String toString() {
return "GithubCommitsResult [items=" + Arrays.toString(items) + "]";
}
}


(4)、GithubTest测试类

public static void main(String[] args) {
try {
URL url = new URL("https://api.github.com/search/commits?q=committer-date:2017-11-27..2017-12-01&page=10&per_page=100");
HttpsURLConnection https = (HttpsURLConnection) url.openConnection();// 打开连接
https.addRequestProperty("Accept","application/vnd.github.cloak-preview");// 设置请求属性

https.addRequestProperty("Authorization", "Basic "+up);
https.setDoInput(true);
InputStream is = https.getInputStream();
Gson gson = new GsonBuilder().create();
GithubCommitsResult gcr = gson.fromJson(new InputStreamReader(is),GithubCommitsResult.class);
for(int i=0;i<gcr.getItems().length;i++){
System.out.println(gcr.getItems()[i].getRepository().getId());
}
is.close();
https.disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


(5)、GithubTest测试类代码修改

public static void main(String[] args) {
String url="https://api.github.com/search/commits?q=committer-date:2017-11-27..2017-12-01&page=1&per_page=100";
String ret=getGithubApiReply(url);
Gson gson = new GsonBuilder().create();
GithubCommitsResult gcr = gson.fromJson(ret,GithubCommitsResult.class);
System.out.println(gcr.getItems()[99].getRepository().getId());
}


public static String getGithubApiReply(String api_url) {
String retstr = null;
try {
URL url = new URL(api_url);
HttpsURLConnection https = (HttpsURLConnection) url
.openConnection();// 打开连接
https.addRequestProperty("Accept",
"application/vnd.github.cloak-preview");// 设置请求属性
https.setDoInput(true);
InputStream is = https.getInputStream();
Reader reader = new InputStreamReader(is, "utf-8");
StringBuffer sb = new StringBuffer();
int c = -1;
while ((c = reader.read()) != -1) {
sb.append((char) c);
}
retstr = new String(sb);
is.close();
https.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
return retstr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  自动化测试 java