配置
[
{
"description":"这是一个会返回cookies的数据",
"request":{
"uri":"/getcookies",
"method":"get"
},
"response":{
"cookies":{
"login":"true"
},
"text":"恭喜你获取cookies信息正确",
"headers":{"Content-Type":"text/html;charset=gbk"}
}
},
{
"description":"这是一个带cookies信息的get",
"request":{
"uri":"/get/with/cookies",t
"method":"get",
"cookies":{
"login":"true"
}
},
"response":{
"text":"恭喜你获取cookies信息正确11111111111111",
"headers":{"Content-Type":"text/html;charset=gbk"}
}
}
]
----------------------------------application.properties-------------------
test.url=http://localhost:8887
test.get.with.cookies=/get/with/cookies
getCookies.uri=/getcookies
login=/login
--------------------------------MyCookiesForGet----------------(存在问题cookies存在多个时错误)
package com.course.cookie;
import org.apache.http.HttpResponse;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
//import org.apache.http.cookie.Cookie;
public class MyCookiesForGet {
private String url;
private ResourceBundle bundle;
private CookieStore store;
@BeforeTest
public void beforeTest(){
bundle=ResourceBundle.getBundle("application",Locale.CHINA);
url=bundle.getString("test.url");
}
@Test
public void testGetCookies() throws IOException {
String result;
//从配置文件中拼接测试的url
String uri=bundle.getString("getCookies.uri");
String testUrl=this.url+uri;
//测试逻辑代码书写
HttpGet get=new HttpGet(testUrl);
DefaultHttpClient client=new DefaultHttpClient();
HttpResponse response=client.execute(get);
result= EntityUtils.toString(response.getEntity(),"utf-8");
System.out.println(result);
//获取cookies信息
this.store=client.getCookieStore();
List<org.apache.http.cookie.Cookie> cookieList=store.getCookies();
for (org.apache.http.cookie.Cookie cookie:cookieList){
String name=cookie.getName();
String value=cookie.getValue();
System.out.println("cookie name="+name+"cookie value="+value);
}
System.out.println("cookieList:"+cookieList);
}
@Test(dependsOnMethods = {"testGetCookies"})
public void testGetWithCookies() throws IOException {
//String result;
//从配置文件中拼接测试的url
String uri=bundle.getString("test.get.with.cookies");
String testUrl=this.url+uri;
//测试逻辑代码书写
HttpGet get=new HttpGet(testUrl);
DefaultHttpClient client=new DefaultHttpClient();
//设置cookies信息
client.setCookieStore(this.store);
HttpResponse response=client.execute(get);
//取响应状态码
int statusCode=response.getStatusLine().getStatusCode();
System.out.println("statusCode="+statusCode);
if (statusCode==200){
String result=EntityUtils.toString(response.getEntity(),"utf-8");
System.out.println(result);
}
// result= EntityUtils.toString(response.getEntity(),"utf-8");
// System.out.println(result);
//获取cookies信息
this.store=client.getCookieStore();
List<org.apache.http.cookie.Cookie> cookieList=store.getCookies();
for (org.apache.http.cookie.Cookie cookie:cookieList){
String name=cookie.getName();
String value=cookie.getValue();
System.out.println("cookie name="+name+"cookie value="+value);
}
System.out.println("cookieList:"+cookieList);
}
}