zoukankan      html  css  js  c++  java
  • 自动化测试基础篇--Selenium cookie操作

    在验证浏览器中cookie是否正确时,有时基于真实cookie的测试是无法通过白盒和集成测试进行的。Webdriver提供了操作Cookie的相关方法,可以读取,添加和删除cookie信息。

    文本webdriver操作cookie()的方法:

    get_cookie(): 获得所有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信息。

    一、获取cookie

    二、添加cookie

    三、使用cookie绕开登录验证码

    通过向浏览器中添加cookie可以绕过登录的验证码。在登录的时候勾选记住密码,当下次访问该网站时就默认处于登录状态了。记住密码功能其实就记录了浏览器的cookie中。通过webdriver来操作浏览器的cookie,可以通过add_cookie()方法将用户名密码写入浏览器cookie,当再次访问时,服务器将直接读取浏览器的cookie进行登录。

    四、参考代码

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author  : chen
    # @File    : cookie.py
    # @Software: PyCharm
    from selenium import webdriver
    import time
    url = 'http://192.168.20.213:xxxx/manager/application'
    driver = webdriver.Firefox()
    driver.get(url)
    driver.implicitly_wait(30)
    cookie1 = {
        'domain':'192.168.20.213',
        'name':'JSESSIONID',
        'value':'5D28C34424E58D1EA4E6AB65870AD432',
        # u'expiry':u'9223372036854776000',
        'path':'/manager/',
        'secure':False,
        'httpOnly': True}
    cookie2 = {
        'domain':'192.168.20.213',
        'name':'_jfinal_captcha',
        'value':u'd0c8954d454cf4be6968d9cda0c4cecc',
        # u'expiry':u'9223372036854776000',
        'path':'/',
        'secure':False,
        'httpOnly': True}
    cookie3 = {
        'domain':'192.168.20.213',
        'name':'HiPaySessionId',
        'value':'dlkW4jQ2pH5UiQPHH9t7izTr1r0vibgM1Suw8g2A5zEN+AAsd4JgKvUwm4+QMtuV4fRx6UNTiC0XscAoIWgNX2hTTbudrbPNqPD9zNP94alMqofF31U+lWYi8FBON2O7RWQN2j3106Zft1oTL8LLcXBjHiddYA9JU6l0P5arkxWVqnW512Cg7MARH9mf5UT3HKveqaXJuFbKJiE/a9OCzaexFz+eRVCAG68UO3ffOr9kQpf1pOBAFLUaKULIDetl',
        # u'expiry':u'1513909626',
        'path':'/',
        'secure':False,
        'httpOnly': True}
    driver.add_cookie(cookie1)
    driver.add_cookie(cookie2)
    driver.add_cookie(cookie3)
    time.sleep(3)
    driver.refresh()
    time.sleep(5)
    driver.quit()
    写在最后的话:这些都是小编自己一个字一个字敲上去的,原创算不上,可能很多类似的资料,小编写这个的目的是为了激励自己在学习道路上养成良好的习惯,所以转载请注明出处,谢谢!
  • 相关阅读:
    [noip2011d2t2]聪明的质检员 二分+前缀和优化
    [noip2016d2t2]蚯蚓
    KMP
    杨辉三角(二项式定理)&&组合数 【noip 2011/2016 d2t1】
    bzoj1615 [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
    [noip2015 pjt3]求和
    [周记]8.28~9.3
    [noip2011 d1t3] Mayan游戏
    react基础用法二(组件渲染)
    react基础用法一(在标签中渲染元素)
  • 原文地址:https://www.cnblogs.com/sanzangTst/p/8376471.html
Copyright © 2011-2022 走看看