Robot Framework: ¿acceder a las variables globales de Robot desde el código de la biblioteca de Python?
Tengo algunas vars globales de tipo de configuración a las que me gustaría poder acceder desde el código Python. Por ejemplo:
pybot --variable RESULTS_PATH:/wherever/this/points test.txt
Ahora mi modulologger.py
el archivo necesita conocer la ruta de resultados para configurar correctamente.
Sé que puedo inicializar el registrador con una variable, como
***Settings***
Library logger ${RESULTS_PATH}
Y luego en el registrador se me pasará results_path:
def __init__(self, results_path):
# Whatever
Sin embargo, el problema de hacerlo de esta manera para mí es que quiero acceder y usar el registrador tanto desde el código Python como desde los casos de prueba. Entonces, si lo configuro de esta manera, si quiero usar el registrador del código Python, me encuentro con el mismo problema de necesitar la ruta de resultados para inicializar el registrador correctamente.
¿Hay alguna función en la biblioteca de la estructura del robot que me permita obtener el valor de $ {RESULTS_PATH} del código de Python? ¿Cuál es la forma correcta de hacer algo como esto?
En este momento, mi solución para el problema es establecer RESULTS_PATH como una variable de entorno. Así que tengo algo como:
Corre como
RESULTS_PATH=/wherever/this/points pybot test.txt
Expedientetest.txt
:***Settings***
Library logger
...
Expedientelogger.py
:results_path = os.environ["RESULTS_PATH"]
# Other set up stuff