自动化测试基础篇--Selenium cookie操作
摘自https://www.cnblogs.com/sanzangTst/p/8376471.html
在验证浏览器中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()

自动化测试基础篇--Selenium cookie操作的更多相关文章
- 自动化测试基础篇--Selenium浏览器操作
摘自https://www.cnblogs.com/sanzangTst/p/7462056.html 学习 Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法 ...
- 自动化测试基础篇--Selenium简单的163邮箱登录实例
摘自https://www.cnblogs.com/sanzangTst/p/7472556.html 前面几篇内容一直讲解Selenium Python的基本使用方法.学习了什么是selenium: ...
- 自动化测试基础篇--Selenium文件上传send_keys
摘自https://www.cnblogs.com/sanzangTst/p/8358165.html 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单. 一般分两个场景:一 ...
- 自动化测试基础篇--Selenium鼠标键盘事件
摘自https://www.cnblogs.com/sanzangTst/p/7477382.html 前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和 ...
- 自动化测试基础篇--Selenium元素定位
摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...
- 自动化测试基础篇--Selenium简介
摘自https://www.cnblogs.com/sanzangTst/p/7452636.html 一.软件开发的一般流程 二.什么叫软件测试? 软件测试(英语:Software Testing) ...
- 自动化测试基础篇--Selenium Python环境搭建
学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...
- 引用 自动化测试基础篇--Selenium简介
原文链接:http://www.cnblogs.com/sanzangTst/p/7452636.html 鸣谢参藏法师 一.软件开发的一般流程 二.什么叫软件测试? 软件测试(英语:Software ...
- 引用 自动化测试基础篇--Selenium Python环境搭建
原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...
随机推荐
- SpringCloud学习5-如何创建一个服务提供者provider
前几篇主要集中在注册中心eureka的使用上,接下来可以创建服务提供者provider来注册到eureka. demo源码见: https://github.com/Ryan-Miao/spring- ...
- JavaScript经典片段
typeof jQuery != "undefined" || importjQuery(); 判断jQuery对象是否存在,如果不存在就调用importjQuery()方法加载j ...
- PHP中的__call和__callStatic方法
如何防止调用不存在的方法而出错,使用__call魔术重载方法. __call方法原型如下: mixed __call(string $name,array $arguments) 当调用一个不可访问的 ...
- 流式大数据计算实践(2)----Hadoop集群和Zookeeper
一.前言 1.上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二.搭建Hadoop集群 1.根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core ...
- 网络协议抓包分析——IP互联网协议
前言 IP协议是位于OSI模型的第三层协议,其主要目的就是使得网络间可以相互通信.在这一层上运行的协议不止IP协议,但是使用最为广泛的就是互联网协议. 什么是IP数据报 TCP/IP协议定义了一个在因 ...
- 微软改名部又出动啦!微软宣布VSTS改名为Azure DevOps
本篇为翻译,原文地址:https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 作者:Jamie Cool,Azure DevO ...
- HDFS简单测试
使用Hadoop的Java客户端API操作分布式文件系统#获取文件系统实现//hdfs://master01:9000/FileSystem get(URI uri[,Configuration co ...
- sql存储过程,根据多个条件查询,返回一个dataTable或者DataSet
不废话,先直接代码 首先sql部分(我在这里加了一个@zx作为判断,一般不需要这个参数): ALTER Proc [dbo].[Proc_Boss_Show] ),--开始条数 ),--结束条数 @S ...
- [翻译]一个新式的基于文本的浏览器 Browsh
介绍 什么是Browsh? Browsh是一个纯文本浏览器,可以运行在大多数的TTY终端环境和任何浏览器.目前1 ,终端客户端比浏览器客户端更先进2. TTY 客户端 终端客户端即时更新和交付,以便于 ...
- 结构型---代理模式(Proxy Pattern)
代理模式的详细介绍 代理模式按照使用目的可以分为以下几种: 远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象.这个不同的地址空间可以是本电脑中,也可以在另一台电脑中.最典型 ...