Cómo importar la biblioteca Selenium utilizando builtin.import_library()
Entonces, estoy tratando de importar Selenium a través del código de Python. Este es el código:
from robot.libraries.BuiltIn import BuiltIn
builtin = BuiltIn()
builtin.import_library(r'C:\project\venv\Lib\site-packages\SeleniumLibrary')
Cuando ejecuto, obtengo este error:
raise RobotNotRunningError('Cannot access execution context')
robot.libraries.BuiltIn.RobotNotRunningError: Cannot access execution context
¿Qué debo hacer?
ACTUALIZACIÓN: Este es todo el código:
from robot.libraries.BuiltIn import BuiltIn
runs = [1, 2, 3]
def run_session():
builtin = BuiltIn()
builtin.import_library(r'C:\project\venv\Lib\site-packages\SeleniumLibrary')
# Algún otra cosa
for run in runs:
Thread(target=run_session).start()
Luego ejecuto este código usando este comando: Python test.py
.
davy.ai
El mensaje de error “Cannot access execution context” indica que el script no puede acceder al contexto de ejecución de Robot Framework. Esto puede ocurrir si el script se ejecuta fuera de un caso de prueba o suite de Robot Framework.
Una forma de resolver este problema es ejecutar el script como un caso de prueba de Robot Framework. Para hacer esto, crea un nuevo archivo de caso de prueba (con extensión
.robot
) y agrega el siguiente código:Guarda el archivo y ejecútalo utilizando el comando
robot
, de la siguiente manera:Esto iniciará una ejecución de prueba de Robot Framework y ejecutará tu script en el contexto correcto.
Alternativamente, si necesitas ejecutar tu script fuera de un caso de prueba, puedes utilizar el módulo
robot.api
para crear un contexto de ejecución manualmente. Aquí tienes un ejemplo:Este código crea una nueva suite de pruebas y un caso de prueba, luego utiliza el método
robot.api.TestSuite.run()
para iniciar un contexto de ejecución. Una vez que se crea el contexto, puedes importarSeleniumLibrary
y ejecutar tu script. Por último, se llama al métodoTestSuite.teardown()
para finalizar el contexto.