selenium webdriver学习(九)------------如何操作cookie

Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域、name、value、有效日期和路径",下面来讲一下怎么操作Cookies。

Java代码
  1. import java.util.Set; 
  2.  
  3. import org.openqa.selenium.Cookie; 
  4. import org.openqa.selenium.WebDriver; 
  5. import org.openqa.selenium.firefox.FirefoxDriver; 
  6.  
  7. public class CookiesStudy { 
  8.  
  9.     /**
  10.      * @author  gongjf
  11.      */ 
  12.     publicstaticvoid main(String[] args) { 
  13.         // TODO Auto-generated method stub 
  14.         System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");   
  15.         WebDriver dr = new FirefoxDriver(); 
  16.         dr.get("http://www.51.com"); 
  17.          
  18.         //增加一个name = "name",value="value"的cookie 
  19.         Cookie cookie = new Cookie("name", "value"); 
  20.         dr.manage().addCookie(cookie); 
  21.          
  22.         //得到当前页面下所有的cookies,并且输出它们的所在域、name、value、有效日期和路径 
  23.         Set<Cookie> cookies = dr.manage().getCookies(); 
  24.         System.out.println(String.format("Domain -> name -> value -> expiry -> path")); 
  25.         for(Cookie c : cookies) 
  26.             System.out.println(String.format("%s -> %s -> %s -> %s -> %s"
  27.                     c.getDomain(), c.getName(), c.getValue(),c.getExpiry(),c.getPath())); 
  28.          
  29.          
  30.         //删除cookie有三种方法 
  31.          
  32.         //第一种通过cookie的name 
  33.         dr.manage().deleteCookieNamed("CookieName"); 
  34.         //第二种通过Cookie对象 
  35.         dr.manage().deleteCookie(cookie); 
  36.         //第三种全部删除 
  37.         dr.manage().deleteAllCookies(); 
  38.     } 
import java.util.Set;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class CookiesStudy {

	/**
	 * @author  gongjf
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");  
		WebDriver dr = new FirefoxDriver();
		dr.get("http://www.51.com");
		
		//增加一个name = "name",value="value"的cookie
		Cookie cookie = new Cookie("name", "value");
		dr.manage().addCookie(cookie);
		
		//得到当前页面下所有的cookies,并且输出它们的所在域、name、value、有效日期和路径
		Set<Cookie> cookies = dr.manage().getCookies();
		System.out.println(String.format("Domain -> name -> value -> expiry -> path"));
		for(Cookie c : cookies)
			System.out.println(String.format("%s -> %s -> %s -> %s -> %s",
					c.getDomain(), c.getName(), c.getValue(),c.getExpiry(),c.getPath()));
		
		
		//删除cookie有三种方法
		
		//第一种通过cookie的name
		dr.manage().deleteCookieNamed("CookieName");
		//第二种通过Cookie对象 
		dr.manage().deleteCookie(cookie);
		//第三种全部删除
		dr.manage().deleteAllCookies();
	}

上面的代码首先在页面中增加了一个cookie,然后遍历页面的所有cookies,并输出他们的主要属性。最后就是三种删除cookie的方法。遍历cookies输出的结果:

Java代码
  1. Domain -> name -> value -> expiry -> path 
  2. .51.com -> FO_RFLP -> %7CaHR0cDovL3d3dy41MS5jb20v%7C%7C%7C ->null -> / 
  3. .51.com -> __utmz ->67913429.1331544776.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) -> Tue Sep1105:32:56 CST2012 -> / 
  4. www.51.com -> name -> value -> Tue Mar1217:33:00 CST2030 -> / 
  5. www.51.com -> PHPSESSID -> 51d37fc72eb0ea66e4ef1971b688698b ->null -> / 
  6. .51.com -> __utma ->67913429.453585250.1331544776.1331544776.1331544776.1 -> Wed Mar12 17:32:56 CST2014 -> / 
  7. www.51.com -> www_cookie_adv ->1 -> Mon Mar1218:32:55 CST2012 -> / 
  8. .51.com -> __utmc ->67913429 ->null -> / 
  9. www.51.com -> NSC_xxx -> 44595a553660 ->null -> / 
  10. .51.com -> __utmb ->67913429.1.10.1331544776 -> Mon Mar1218:02:56 CST2012 -> / 
  11. www.51.com -> www_jiaoyou_guide -> 0c83c0b5f569512d5a832bf0b4397a05 ->null -> / 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值