• selenium webdriver学习(九)------------如何操作cookies(转)


    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.     public static void 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.     }  

    上面的代码首先在页面中增加了一个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 Sep 11 05:32:56 CST 2012 -> /  
    4. www.51.com -> name -> value -> Tue Mar 12 17:33:00 CST 2030 -> /  
    5. www.51.com -> PHPSESSID -> 51d37fc72eb0ea66e4ef1971b688698b -> null -> /  
    6. .51.com -> __utma -> 67913429.453585250.1331544776.1331544776.1331544776.1 -> Wed Mar 12 17:32:56 CST 2014 -> /  
    7. www.51.com -> www_cookie_adv -> 1 -> Mon Mar 12 18:32:55 CST 2012 -> /  
    8. .51.com -> __utmc -> 67913429 -> null -> /  
    9. www.51.com -> NSC_xxx -> 44595a553660 -> null -> /  
    10. .51.com -> __utmb -> 67913429.1.10.1331544776 -> Mon Mar 12 18:02:56 CST 2012 -> /  
    11. www.51.com -> www_jiaoyou_guide -> 0c83c0b5f569512d5a832bf0b4397a05 -> null -> /  
  • 相关阅读:
    android 属性动画
    android EventBus
    android gson使用
    Date、String、Calendar类型之间的转化
    2020-08-26:裸写算法:树的非递归先序遍历。
    2020-08-25:BloomFilter的原理以及Zset的实现原理。
    2020-08-24:什么是小文件?很多小文件会有什么问题?很多小文件怎么解决?(大数据)
    2020-08-23:描述HTTPS和HTTP的区别。
    2020-08-22:I/O多路复用中select/poll/epoll的区别?
    2020-08-21:网络IO模型有哪些?
  • 原文地址:https://www.cnblogs.com/yye2010/p/4596921.html
Copyright © 2020-2023  润新知