zoukankan      html  css  js  c++  java
  • Selenium 2自动化测试实战20(操作cookie)

    一、操作cookie

    有时候我们需要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的。WebDriver提供了操作Cookie的相关方法,可以读取、添加和删除cookie信息
    WebDriver操作cookie的方法:
    get_cookies(): 获得所有cookie信息
    get_cookie(name):返回字典的key为“name”的cookie信息
    add_cookie(cookie_dict):添加cookie,“cookie_dict”指字典对象,必须有name和value值。
    delete_cookie(name,optionsString):删除cookie信息。“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。
    delete_all_cookies():删除所有cookie信息。

    下面通过get_cookies()来获取当前浏览器的cookie信息。

    #cookie.py
    # -*- coding: utf-8 -*-
    
    from selenium import webdriver
    from time import sleep
    
    driver=webdriver.Chrome()
    driver.get("http://www.youdao.com")
    
    #获得cookie信息
    cookie=driver.get_cookies()
    
    #打印获得的cookie
    print cookie
    
    driver.quit()

    从执行结果可以看出,cookie数据是以字典的形式进行存放的。可以按照这种形式向浏览器中写入cookie信息。

    #cookie.py
    # -*- coding: utf-8 -*-
    
    from selenium import webdriver
    from time import sleep
    
    driver=webdriver.Chrome()
    driver.get("http://www.youdao.com")
    
    #向cookie的name和value中添加会话信息
    driver.add_cookie({'name':'key-aaaaaaa','value':'value-bbbbbb'})
    
    #遍历cookies中的name和value信息并打印,当然还有上面添加的信息
    for cookie in driver.get_cookies():
    print ("%s -> %s" % (cookie['name'],cookie['value']))
    
    driver.quit()

    从执行结果可以看到,最后一条cookie信息是在脚本执行过程中通过add_cookie()方法添加的。通过遍历得到所有的cookie信息,从而找到key为“name”和“value”的特定cookie的value。

    如果找不到username或对应的value为空,那么说明cookie没有成功地保存到浏览器中。

    delete_cookie()和delete_all_cookies()的使用也很简单,前者通过name删除一个特定的cookie信息,后者直接删除浏览器中的所有cookies()信息

  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/11726918.html
Copyright © 2011-2022 走看看