robotframework / robotframework/SeleniumLibrary

Keyword `Input Password` throws an exception when run with Python (no robotframework)

Abierto
#1,746 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug priority: high
Lenguaje dominante
Python
Estrellas
1.5k
Forks
787
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

For issues

Steps to reproduce the issue

from SeleniumLibrary import SeleniumLibrary
from time import sleep

library = SeleniumLibrary()

def minimal_task():
    try:
        library.open_browser('https://docs.robocorp.com')
        library.input_password("//input[@aria-label='Search']", "playwright")
        sleep(5)
    finally:
        library.close_all_browsers()
    print("Done.")


if __name__ == "__main__":
    minimal_task()

Error messages and additional information

Traceback (most recent call last):
  File "task.py", line 23, in <module>
    minimal_task()
  File "task.py", line 15, in minimal_task
    library.input_password("//input[@aria-label='Search']", "playwright")
  File "C:\Users\User\AppData\Local\robocorp\live\199e494e4c733ef3\lib\site-packages\SeleniumLibrary\keywords\formelement.py", line 269, in input_password
    self._input_text_into_text_field(locator, password, clear, disable_log=True)
  File "C:\Users\User\AppData\Local\robocorp\live\199e494e4c733ef3\lib\site-packages\SeleniumLibrary\keywords\formelement.py", line 509, in _input_text_into_text_field
    previous_level = BuiltIn().set_log_level("NONE")
  File "C:\Users\User\AppData\Local\robocorp\live\199e494e4c733ef3\lib\site-packages\robot\libraries\BuiltIn.py", line 3006, in set_log_level
    old = self._context.output.set_log_level(level)
  File "C:\Users\User\AppData\Local\robocorp\live\199e494e4c733ef3\lib\site-packages\robot\libraries\BuiltIn.py", line 64, in _context
    return self._get_context()
  File "C:\Users\User\AppData\Local\robocorp\live\199e494e4c733ef3\lib\site-packages\robot\libraries\BuiltIn.py", line 69, in _get_context
    raise RobotNotRunningError('Cannot access execution context')
robot.libraries.BuiltIn.RobotNotRunningError: Cannot access execution context

Expected behavior and actual behavior

Keyword Input Password works with and without Robot Framework

Environment

Browser: default by Open Browser keyword
Browser driver: Gecko
Operating System: Windows 10
Libraries

  • Robot Framework: NOT USED
  • Selenium: 3.141.0
  • SeleniumLibrary: robotframework-seleniumlibrary==5.1.3
  • Interpreter: Python 3.7.5 | packaged by conda-forge | (default, Jan 28 2021, 18:15:34) [MSC v.1916 64 bit (AMD64)] on win32

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza en SeleniumLibrary/keywords/formelement.py, en input_password y _input_text_into_text_field, los puntos de entrada que se muestran en el traceback. Reproduce la llamada fuera de Robot Framework y, después, inspecciona las pruebas de keywords de elementos de formulario existentes. Se considera terminado cuando Input Password funciona tanto con un contexto de ejecución de Robot Framework como sin él, y existe cobertura de regresión para el fallo indicado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
testing-qa
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.