51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2308|回复: 2
打印 上一主题 下一主题

[转贴] selenium webdriver学习 09 – 如何操作cookie

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-18 14:04:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域、name、value、有效日期和路径”,下面来讲一下怎么操作Cookies。
CODE:
  1. <font size="4">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.     }</font>
复制代码
上面的代码首先在页面中增加了一个cookie,然后遍历页面的所有cookies,并输出他们的主要属性。最后就是三种删除cookie的方法。遍历cookies输出的结果:
CODE:
  1. <font size="4">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 -> /</font>
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-7-18 15:17:59 | 只看该作者
无私的楼主啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 11:04 , Processed in 0.063387 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表