es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Selenium WebDriver para AWS Device Farm presenta un error al enviar el golpe de tecla del periodo “.” al elemento.

Estoy migrando la ejecución de pruebas de RSpec/Capybara a AWS Device Farm. Estoy teniendo un problema al enviar un solo punto (“.”) a un campo. Aquí está mi sesión de depuración con binding.pry:

[5] pry(#<rspec::examplegroups::drivers>)> find('input[id^="filter"]').set('.')
Selenium::WebDriver::Error::WebDriverError: Estás intentando trabajar con algo que no es un archivo.
from /Users/pfong/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/selenium-webdriver-4.0.3/lib/selenium/webdriver/remote/bridge.rb:422:in `upload'

Funciona bien si envío varios caracteres. Sin embargo, en este caso, estoy intentando enviar una tecla a la vez lentamente en otro método auxiliar.

No estoy seguro/a de por qué piensa que estoy enviando un archivo cuando claramente estoy intentando presionar teclas.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás encontrando un problema al enviar un carácter de punto a un campo utilizando selenium-webdriver en AWS Device Farm. El mensaje de error que recibiste sugiere que está intentando trabajar con un archivo en lugar de pulsaciones de teclas.

    Una posible solución es utilizar el método send_keys en lugar de set para enviar las pulsaciones de teclas al campo de entrada. Por ejemplo, puedes intentar reemplazar find('input[id^="filter"]').set('.') con find('input[id^="filter"]').send_keys('.').

    Alternativamente, puedes intentar utilizar un selector diferente o modificar el campo de entrada para que acepte entradas de un solo carácter.

    También es importante tener en cuenta que diferentes controladores y plataformas pueden tener un comportamiento diferente cuando se trata de enviar entradas de un solo carácter, por lo que es importante probar tu código en diferentes entornos para asegurar la compatibilidad.

Comments are closed.