official for español chrome c# selenium selenium-webdriver windows-authentication

c# - for - Manejo de la autenticación de Windows con Selenium Webdriver



selenium remotewebdriver (3)

Al pasar credenciales a través de url no funciona, puede hacerlo utilizando un software externo "AutoIt V3" Esto funciona bien con la autenticación de Windows.

La prueba basada en Weblinder de Selenium en C # debe iniciar sesión con la autenticación de Windows.

He intentado un par de enfoques:

_Driver.SwitchTo().Alert(); _Driver.FindElement(By.Id("UserName")).SendKeys("LynnTest"); _Driver.FindElement(By.Id("Password")).SendKeys("Welcome1!"); _Driver.SwitchTo().Alert().Accept(); _Driver.SwitchTo().DefaultContent();

y

IAlert alert = _Driver.SwitchTo().Alert(); alert.SendKeys("LynnTest//t"); alert.SendKeys("Welcome1!"); _Driver.SwitchTo().Alert().Accept(); _Driver.SwitchTo().DefaultContent();

Ninguno de los dos tiene éxito. No obtengo el diálogo de autenticación de Windows en mi sistema local, así que no puedo ver la fuente para determinar cómo localizar el nombre de usuario y la contraseña con el método Selenium By.

Creo que el navegador proporciona el cuadro de diálogo de autenticación de Windows, pero no he encontrado ninguna fuente para el diálogo.

Usando Selenium (no AutoIt u otras herramientas similares) ¿cómo paso un nombre de usuario y contraseña en el diálogo de autenticación de Windows? La solución debe basarse en el código de Selenium, no en los complementos, no tengo acceso a los navegadores ya que están en la nube.

Nota: pasar el nombre de usuario y la contraseña en la URL no funciona, según tengo entendido porque el cuadro de diálogo no está generado por html en la página.


Al final utilicé una solución, navegando primero a la página de autenticación, autenticando y luego redireccionando a la página para probar como un usuario autenticado. Este enfoque utiliza la página de autenticación interna de páginas a la que se puede aplicar un guión.


NO puedes autenticar a través de esta ventana con Selenio. Debido a esto, no es la ventana del navegador, sino la ventana emergente de autenticación del sistema operativo. El selenio no tiene la capacidad de funcionar con otros procesos, excepto los navegadores.

Pero puedes autenticarte SIN obtener esta ventana.

Hay 2 formas de perderlo:

  1. Cambie la URL con autenticación a: http: // usuario: contraseñ[email protected] . Esto funcionará en parte de situaciones y lo autenticará al servicio necesario. En otro caso, puede usar el modo 2.

  2. Debe crear un nuevo perfil en el navegador, pasar la autenticación al servicio necesario y recordar la contraseña / autenticación. Y, por supuesto, use el perfil de navegador creado en sus pruebas.

    2.1. En caso de que el servicio tenga un tiempo de vida de cookies corto, puede usar el complemento "AutoAuth" para su navegador, además en su perfil del paso 2.

  1. Puede escribir su propia realización de inicio de sesión a través de la ventana emergente de inicio de sesión con el marco "Blanco". En el paso necesario, puede verificar todas las ventanas del SO mostradas para el título "correcto". Y en caso de que exista tal título, obtén el control de la ventana. Y para iniciar sesión usando "Blanco".