配置
[ { "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); } }