org openqa for docs chrome selenium cookies webdriver remotewebdriver

openqa - selenium remotewebdriver



¿Cómo iniciar Selenium RemoteWebDriver o WebDriver sin borrar cookies o caché? (1)

Para preservar las cookies en Firefox; cree un perfil personalizado (consulte aquí un ejemplo) y úselo cada vez que inicie una nueva instancia de RemoteWebDriver. De esta forma, Firefox reutilizará el mismo perfil con todas las cookies existentes en todas las sesiones. Sin embargo, esto no guarda las cookies recibidas durante la prueba en sí. Vea el enfoque alternativo a continuación para una solución.

Un enfoque similar funciona para Chrome - link .

Para Internet Explorer en lugar de un perfil personalizado, asegúrese de que la capacidad de CleanSession se establezca en falso para evitar la limpieza de las cookies en el inicio de sesión - enlace .

Solución alternativa : las cookies también se pueden manipular desde la propia prueba:

  1. Obtenga todas las cookies cuando termine la prueba:

    ReadOnlyCollection<Cookie> cookies = driver.Manage().Cookies.AllCookies;

  2. Guárdelos en algún lado. Cómo lo hace depende de la configuración de la automatización, pero generalmente la simple serialización en el disco debería funcionar bien.

  3. Deserialice sus cookies al inicio de la prueba y agréguelas a través de WebDriver:

    foreach (var cookie in cookies) driver.Manage().Cookies.AddCookie(cookie);

Caso de uso: inicie sesión con un nombre de usuario, navegue a una página de autenticación de segundo factor para hacer una de una serie de cosas (es decir, responda una pregunta basada en el conocimiento), y luego navegue a una página final para ingresar una contraseña. Cierre el navegador e intente iniciar sesión de nuevo con el nombre de usuario. Esta vez, la página de autenticación de segundo factor se omite porque la aplicación reconoce las cookies y se le solicita al usuario que ingrese su contraseña directamente.

Problema: estoy usando Selenium RemoteWebDriver para ejecutar estas pruebas en una máquina de prueba por separado y cuando cierro el primer navegador y abro una nueva instancia de RemoteWebDriver, aparece que comienza borrando las cookies y el caché y aparece la página de autenticación de segundo factor cada vez que intentar iniciar sesión

Lo que necesito: Ayuda para descubrir cómo crear una nueva instancia de RemoteWebDriver sin que borre automáticamente las cookies o el caché, por lo que se omitirá la página de autenticación de segundo factor. Necesito esto para IE, Chrome, Firefox y Safari.

No tengo ningún código que lo aclare explícitamente, pero tampoco tengo nada que intente forzarlo a no borrarlo (si es que existe). No he probado mucho más porque no tengo idea qué probar

Versiones: Selenium WebDriver: 2.45.0.0, Selenium Grid: 2.45.0

¡Gracias!