Robot Framework: acessa as variáveis globais do Robot a partir do código da biblioteca Python?
Eu tenho algumas configurações globais do tipo vars que gostaria de poder acessar a partir do código Python. Por exemplo:
pybot --variable RESULTS_PATH:/wherever/this/points test.txt
Agora meu módulologger.py
arquivo precisa saber o results_path para configurar corretamente.
Eu sei que posso inicializar o logger com uma variável, como
***Settings***
Library logger ${RESULTS_PATH}
E então no logger eu vou passar o results_path:
def __init__(self, results_path):
# Whatever
No entanto, o problema de fazer isso dessa maneira para mim é que eu quero acessar e usar o criador de logs do código Python e dos casos de teste. Então, se eu configurá-lo desta forma, se eu quiser usar o logger do código Python, eu me deparo com o mesmo problema de precisar o results_path para inicializar o logger corretamente.
Existe alguma função na biblioteca de frameworks do robô que me permita pegar o valor de $ {RESULTS_PATH} do código Python? Qual é a maneira correta de fazer algo assim?
No momento, minha solução para o problema é definir RESULTS_PATH como uma variável de ambiente. Então eu tenho algo parecido com:
Corra como:
RESULTS_PATH=/wherever/this/points pybot test.txt
Arquivotest.txt
:***Settings***
Library logger
...
Arquivologger.py
:results_path = os.environ["RESULTS_PATH"]
# Other set up stuff