Web UI自动化中使用cookies登录
在Web自动化中,我们经常涉及到用户登录,如果执行每个测试用例都打开登录页面,会产生大量重复代码
这里写目录标题
- 一、获取当前登录用户的cookies
- 二、使用cookies登录
一、获取当前登录用户的cookies
1.1 先通过复用浏览器获(前提是已经打开目标网址,并登录)
def setup(self):# 复用浏览器的代码chrome_options = Options()chrome_options.debugger_address = "127.0.0.1:9222"self.driver = webdriver.Chrome(options=chrome_options)
1.2 取当前登录用户的cookies:driver.get_cookies,并打印出来
def test_cookie(self):# 复用浏览器获取当前页面的cookies,get_cookies()方法获取cookies = self.driver.get_cookies()print(cookies)
二、使用cookies登录
2.1 打开需要使用cookies的网址,将之前获得的cookies以变量形式保存
2.2 将cookies保存到浏览器中,方法 driver.add_cookie() ,然后重新打开带有cookies的网址
2.3 操作需要登录才能操作的功能
def setup(self):# 不复用浏览器,启动一个新的浏览器self.driver = webdriver.Chrome()self.driver.maximize_window()self.driver.implicitly_wait(5)def test_cookie(self):# 打开企业微信管理首页,这时候要求登录self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")# 带有登录信息的cookiecookies = [{'domain': 'xxx', 'httpOnly': False, 'name': 'xxx', 'path': '/', 'secure': False,'value': 'xxx'},.......]# 将cookie加入到浏览器中for cookie in cookies:if 'expiry' in cookie.keys():cookie.pop("expiry")self.driver.add_cookie(cookie)# 重新打开已带有cookie信息的微信管理首页,进行后续操作self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")# 定位“导入通讯录”,导入数据self.driver.find_element(By.CSS_SELECTOR, ".index_service_cnt_itemWrap:nth-child(2)").click()file_button = self.driver.find_element(By.ID, "js_upload_file_input")file_button.send_keys("./datas/contacts.xlsx")assert "contacts.xlsx" == self.driver.find_element(By.ID, "upload_file_name").text
说明:cookie中的过期时间是一个时间戳,可能是浮点数,cookie不支持浮点数,会报错,所以将过期时间移除·
Web UI自动化中使用cookies登录相关推荐
- Web UI自动化(selenium+java)
[郑大钱呀][公][众][号],我们一起交流,一起学习. 文章目录 声明 自动化开发环境搭建 环境准备 浏览器驱动下载 IDEA 创建Maven项目 selenium初探 Selenium元素定位 B ...
- PO设计模式在 UI 自动化中的实践
PO的思想最早是2013年由IT大佬Martin Flower提出的: https://martinfowler.com/bliki/PageObject.html 没错,就是他 - 没错,就是他 - ...
- Web UI自动化之Excel用例读取
基于Selenium的Web UI自动化实现(java) 本文讲解了如何从 Excel 表格中读取测试用例并在 TestNG 中执行.使用的例子是打开百度首页,输入用户名和密码,完成登录. Excel ...
- 在Spring MVC Web应用程序中添加社交登录:单元测试
Spring Social 1.0具有spring-social-test模块,该模块为测试Connect实现和API绑定提供支持. 该模块已从Spring Social 1.1.0中删除,并由 Sp ...
- LuckyFrameWeb测试平台(一款支持接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试的全纬度免费开源测试平台)
官网:luckyframe.cn 源码地址:https://gitee.com/seagull1985/LuckyFrameWeb 分布式测试:使用Web-Client的方式,Web端负责基本信息管理 ...
- Web UI自动化录制工具-Selenium IDE
Web UI自动化录制工具-Selenium IDE 简介 安装 使用 实例 关于Run for pytest... 简介 Selenium IDE可以对网页行为进行录制.回放自动执行测试步骤,最新版 ...
- 在Spring MVC Web应用程序中添加社交登录:集成测试
我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战,并为此提供了一种解决方案 . 尽管单元测试很有价值,但是它并不能真正告诉我们我们的应用程序是否正常运行. 这就是 ...
- UI 自动化中的分层设计
背景 2,3 年前更写过一些 UI 自动化的相关文章, 包括一些设计原则,怎么设计划分页面封装, 常用的设计模式等. 但是没有详细描述 UI 自动化中的分层理念, 赶上最近在新项目里做 UI 自动化测 ...
- Web UI自动化框架搭建
本篇博文只从项目架构角度,提供一些建议供参考.不涉及具体代码编写.目前市场上主流的免费开源工具就是Selenium.大家可以根据自己项目技术栈,选择合适的语言+外加Unit Test框架,来构建自己的 ...
最新文章
- 24组8K真实路面材质贴图素材 VizPeople – Pavement Textures V1
- java 实现hashmap_Java集合(十)实现Map接口的HashMap
- Python两个内置函数——locals 和globals
- mysql中如何操作字符串_mysql 字符串操作
- python语句-浅谈 Python 的 with 语句
- 微信小程序之坦克大战学习
- CentOS6.x下,tomcat - web项目部署
- 13个美国大学生最常用的社交网络
- AudioBuffer
- 转载--ASP解决AJAX带来的码问题
- 使用 Request.QueryString 接受参数时,跟编码有关的一些问题
- Wannafly交流赛1: C. 腰带图(瞎搞)
- gameloft java 游戏_每一款JAVA游戏都是经典,但只有四款游戏,是90%玩家从小玩到大...
- python udp socket通信
- CPU cache侧信道攻击
- FPGA 38译码器
- SAP ABAP openSQL数据库操作(四)
- 自动写作ai-自动写作神器
- 左边是地狱右边也是地狱_像我这样的设计师的特别地狱
- Windows上哪款卸载软件最值得推荐?