Python Automated Test Series [v1.0.0] [Procesando cookies]

En algunos escenarios, es necesario procesar las cookies del navegador. Por ejemplo, a menudo puede ver que algunos sitios web ofrecen una ventana de consulta dentro de la página. Haga clic en la ventana para hablar con el servicio al cliente. Sin embargo, cuando habla con el servicio al cliente por primera vez, el lado del servicio al cliente Se supone que el nombre de la conversación mostrada es visitante A. Cuando el sitio se abre nuevamente después de media hora para continuar chateando, el lado del servicio al cliente seguirá mostrando el visitante A. Sin embargo, si se borra la cookie, después de abrir el sitio web para hablar con el servicio al cliente, el lado del servicio al cliente muestra que podemos ser un Nuevos visitantes
El autor solo cita un escenario común de un sistema de productos de Internet, y si este escenario requiere pruebas automáticas, sin duda dominaremos el método de manejo de cookies. En esta sección, presentaré el método de encapsular cookies de operación y cómo usar el método encapsulado para Manejar las cookies.

Método de encapsulación

def delete_current_cookie(self):  # 封装删除当前所有cookie的方法
    """
    删除所有cookie
    :return:
    """
    self.driver.delete_all_cookies()
def get_current_cookies(self):  # 封装获取当前cookies的方法
    """
    获取当前cookies
    :return:
    """
    current_cookie = self.driver.get_cookies()
    return current_cookie
def get_current_cookie_value(self, key):  # 获取当前name为key的cookie信息
    """
    获取key为key的cookie信息
    :param key:
    :return:
    """
    key_cookie = self.driver.get_cookie(key)
    return key_cookie
def add_key_value_to_cookie(self, cookie_dict):  # 添加cookie,参数为字典
    """
    添加cookie
    :return:
    """
    self.driver.add_cookie(cookie_dict)

Llamada al método

Luego, vea cómo llamarlo, agregue el siguiente método de prueba en el archivo test_advanced_application para verificar si el método encapsulado está disponible, el código se muestra a continuación.

def test_cookies(self):  # 定义新的测试方法
    cookie_dict = {'name': 'name_yang', 'value': 'cookie_yang'}  # 定义字典 
    chrome_driver = webdriver.Chrome()  # 启动浏览器
    chrome_driver.get("https://www.baidu.com")
    time.sleep(10)
	# 获取当前所有cookie
    current_cookie = Browser_Controller(chrome_driver).get_current_cookies()
    # 打印当前cookie
	print(current_cookie)
    # 将之前定义的字典添加到cookie中去
	Browser_Controller(chrome_driver).add_key_value_to_cookie(cookie_dict)
    # 获取name为name_yang的cookie信息
	key_cookie = Browser_Controller(chrome_driver).get_current_cookie_value('name_yang')
    # 打印cookie信息
	print(key_cookie)
    # 删除当前cookie
	Browser_Controller(chrome_driver).delete_current_cookie()
    # 删除后再次获取cookie
	current_cookie_2 = Browser_Controller(chrome_driver).get_current_cookies()
    # 将当前cookie转换成字符串打印到控制台
	print(str(current_cookie_2) + "只有这几个字没有cookie了")
231 artículos originales publicados · 188 elogiados · 120,000 visitas

Supongo que te gusta

Origin blog.csdn.net/dawei_yang000000/article/details/105648281
Recomendado
Clasificación