web自动化——cookie复用

一、cookie简介

cookie是一些数据,存储于用户电脑的文本文件中
当web服务器想浏览器发送web页面时,在链接关闭后,服务端不会记录用户信息

二、为什么要使用Cookie自动化登录

  • 复用浏览器仍然在每次用例开始都需要人为介入
  • 若用例需要经常执行,复用浏览器则不是一个好的选择
  • 大部分cookie的时效性都很长,扫一次可以使用多次

三、cookie复用思路

image

四、cookie复用常见问题

  1. 企业微信cookie有互踢机制。在获取cookie成功之后。不要再进行扫码操作!!!!
  2. 获取cookie的时候,即执行代码获取cookie时,一定要确保已经登录
  3. 植入cookie之后需要进入登录页面,刷新验证是否自动登录成功。

五、获取植入cookie

  • 获取cookie:driver.get_cookies()
  • 植入cookies:driver.add_cookies()
    def test_get_cookies(self):
        self.driver.get('https://work.weixin.qq.com/wework_admin/frame')
        time.sleep(20)
        cookies = self.driver.get_cookies()
        print(cookies)
        # 将cookie写入文件
        with open("cookies.yaml", "w") as f:
            yaml.safe_dump(cookies, f)

    def test_add_cookies(self):
        self.driver.get('https://work.weixin.qq.com/wework_admin/frame')
        # 从文件中读取cookie
        cookies = yaml.safe_load(open("cookies.yaml"))
        # 植入cookies
        for i in cookies:
            self.driver.add_cookie(i)
        time.sleep(3)
        self.driver.refresh()
        time.sleep(10)