Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

88
Vistas
Karate UI Automation - driver.inputFile no funciona con ChromeWebDriver

Estoy trabajando en un proyecto de automatización que requiere la carga de un archivo mediante la interfaz de usuario de Karate. Mi equipo y yo probamos algunas alternativas y usar driver.inputFile() pareció funcionar bien. Sin embargo, también realizamos pruebas en modo sin interfaz con Browserstack, donde notamos que la misma línea no funcionaba, dando el siguiente error:

 js failed: >>>> 01: driver.inputFile(cleoPortal.inputBox, "C:\\Users\\hello\\Documents\\documents\\text-sample1.txt") <<<< org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (inputFile) on com.intuit.karate.driver.chrome.ChromeWebDriver@4cfcac13 failed due to: Unknown identifier: inputFile - <js>.:program(Unnamed:1)

Después de mirar el rastro, me parece que, por alguna razón, cuando se ejecuta sin cabeza, el controlador no tiene definido este método. Al investigar, también confirmé que las 2 formas de ejecutar inicializan diferentes objetos de controlador, com.intuit.karate.driver.chrome.Chrome para la ejecución local y com.intuit.karate.driver.chrome.ChromeWebDriver para el headless.

Sin cabeza: informe de ejecución sin cabeza img

Local: img de informe de ejecución local

Después de profundizar un poco en el código fuente de karate, encontré que ChromeWebDriver.java extiende la clase WebDriver, mientras que Chrome.java extiende DevToolsDriver, y que el primero no tiene el método inputFile() que estamos tratando de usar.

Teniendo en cuenta esto, mi pregunta es: ¿Sería posible implementar este método en WebDriver? ¿O hay alguna alternativa que podamos probar? También me gustaría señalar que probé la entrada normal () pero no funcionó.

No configuré ningún proyecto de demostración porque no estoy muy seguro de cómo reproducir el problema sin una configuración pesada y la ayuda de otras herramientas, pero estoy abierto a sugerencias en caso de que ayude a resolver el problema. ¡Lo lamento!

¡Gracias de antemano por la ayuda!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Eso es correcto, WebDriver y Chrome DevTools (que recomendamos) son fundamentalmente diferentes. La última vez que verifiqué, la carga de archivos era una limitación conocida en la especificación de WebDriver y cada controlador de navegador (Firefox, Safari, etc.) no es compatible o tiene un comportamiento diferente.

Y sí, los navegadores sin cabeza también tienen limitaciones.

Por lo tanto, mi consejo es cambiar su estrategia de prueba para que la carga de archivos se pruebe solo en un navegador. Consulte también: https://stackoverflow.com/a/61393515/143475

Pero puede investigar un poco y contribuir con el código del proyecto Karate. Estaremos encantados de aceptar cualquier PR que mejore el estado de las cosas.

En caso de que Playwright admita la carga de archivos entre navegadores, también es una opción para investigar, ya que tenemos un adaptador experimental.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda