Selenium WebDriver escribiendo muy lento en el campo de texto en el navegador IE

Estoy ejecutando uno de mis scripts en el navegador IE 11 con Selenium 2.43.1 cuando el script escribe en el campo de texto usando lo siguiente:

 element.sendKeys("string"); 

En el navegador IE, puedo ver que un carácter de cadena se escribe en el campo de texto y espera 1-2 segundos antes de escribir el siguiente carácter. Significa que escribir un personaje lleva entre 1 y 2 segundos.

  1. ¿Por qué escribir tan lento con IE?
  2. ¿Hay alguna forma alternativa de acelerar la escritura?

Mi problema también fue con la architecture del controlador, y lo solucioné descargando y usando una de 32 bits. El hilo que me ayudó a resolver

http://forumsqa.com/question/typing-too-slow-in-text-fields-while-replaying-tests/

Para mí, funcionó con la versión de 64 bits de IEDriverServer. Agregué la propiedad requireWindowFocus con el valor “verdadero”:

 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); ... capabilities.setCapability("requireWindowFocus", true); WebDriver driver = new InternetExplorerDriver(capabilities); 

Estoy usando la versión 2.47 de Selenium / IE Driver

Esto me aceleró un poco. IEDriverServer 2.53.1

 InternetExplorerOptions options = new InternetExplorerOptions(); options.IntroduceInstabilityByIgnoringProtectedModeSettings = true; options.RequireWindowFocus = true; driver = new InternetExplorerDriver(options); 

Para WebDriver de 64 bits:

  1. Open IE
  2. Vaya a Opciones de Internet → Avanzado → Seguridad
  3. Verificar ☑ Habilitar procesos de 64 bits para el Modo protegido mejorado
  4. Haga clic en Aplicar y Aceptar

Para WebDriver de 32 bits:

  1. Open IE
  2. Vaya a Opciones de Internet → Avanzado → Seguridad
  3. Desmarque ☐ Habilite los procesos de 64 bits para el Modo protegido mejorado
  4. Haga clic en Aplicar y Aceptar

extrañamente:

  • La configuración era necesaria sin importar si el modo protegido mejorado estaba activado o no.
  • Aparte del texto dice en el diálogo, no fue necesario reiniciar mi computadora.

Mi configuración: Windows 10, IE 11, todo 64 bits, Selenio 3.4

Puede cambiar a la versión de 32 bits, pero si se requiere 64 bits, puede probar esta solución:

  • Opciones de Internet -> Seguridad -> Marque “Activar modo protegido” para todas las zonas
  • Vaya a Avanzado -> Seguridad -> Marque “Activar modo protegido mejorado”

Esto da como resultado que ya no se escriba caracol en IE de 64 bits.

Tuve el mismo problema cuando uso la versión de 64 bits de IEDriverServer. Cambiar a 32 bits y funcionó bien.

Fuente: WebDriver e IE10 entrada muy lenta

Para las pruebas que se ejecutan en IE11 64bit, establecer la capacidad NATIVE_EVENTS en false funcionó para mí. Sin él, usar el servidor de controlador de 64 bits 3.0 fue extremadamente lento, como se informó. El servidor de controlador de 32 bits 3.0 se tragó algunos de los caracteres que se suponía que debía enviar (por ejemplo, “FluentLenium” se convirtió en “FlntLnum”).

Lo siguiente resolvió ambos problemas.

 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false); WebDriver driver = new InternetExplorerDriver(capabilities); 

No estoy seguro de si esto tiene efectos secundarios adicionales.

También tuve el mismo problema de regreso. Puedes probar por

Opciones de Internet -> Conexiones -> Configuración LAN -> Desmarque Detectar configuraciones automáticamente .

Espero que esto ayude.

Probablemente esto sea un problema con la máquina en la que está ejecutando la prueba. Si experimentas un retraso general con la computadora, entonces esto sucederá.

¿Hay alguna forma alternativa de acelerar la escritura?

Claro, puede crear un método personalizado para borrar el texto, luego use JavaScript para completar el campo. (Tenga en cuenta que al hacer esto, es posible que no pueda trabajar con cosas como “mecanografiar” y “sugerencias mientras escribe”)

Luché casi un día para descubrirlo. Esto se debe a que el IE Driver de 64 bits se IEDriverServer_x64_2.53.1 ( IEDriverServer_x64_2.53.1 ).

IEDriverServer_Win32_2.53.1 a IEDriverServer_Win32_2.53.1 luego funcionó, ahora es súper rápido.

Inhabilitar NATIVE_EVENT resolvió mi problema

  DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false); driver = new InternetExplorerDriver(capabilities); 

Puede cambiar a la versión de 32 bits, se comparará con la velocidad de 64 bits.

En lugar de WebEelement.send.keys, utilicé el objeto Actions con el método sendKeys. Funcionó como por arte de magia.

También me enfrenté al mismo problema con IE11 en Windows x64 bit. Estaba usando la versión de 64 bits de IEDriverServer.exe (IE driver-3.7.0 con selenium-3.7.0).

Después de cambiar a la versión de 32 bits de IEDriverServer.exe, resolvió el problema

para mejorar la velocidad de la función de enviar teclas, se pueden realizar los siguientes pasos:

  1. vaya a proyecto -> propiedades -> comstackdor de Java -> bajo el cumplimiento de java –desee la opción de cumplimiento de uso y cambie el nivel de cumplimiento de comstackción a 1.7 y luego haga clic para aplicar.

Funcionará sin problemas.

El siguiente código me ayudó a resolver el problema.

 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); ... capabilities.setCapability("requireWindowFocus", true); WebDriver driver = new InternetExplorerDriver(capabilities);