Robot Cadre: l'accès du Robot variables globales à partir de Python code de la bibliothèque?

J'ai quelques paramètres de type mondial de revendeurs à valeur ajoutée qui je voudrais être en mesure d'accéder à de code Python. Par exemple:

pybot --variable RESULTS_PATH:/wherever/this/points test.txt

Maintenant, mon module logger.py fichier besoins de connaître l'results_path configurer correctement.

Je sais que je peux initialiser l'enregistreur avec une variable, comme

***Settings***
Library  logger  ${RESULTS_PATH}

Puis dans l'enregistreur, je vais être transmis results_path:

 def __init__(self, results_path):
   # Whatever

Toutefois, le problème avec cette façon de faire pour moi, c'est que je veux accéder à et d'utiliser l'enregistreur de données de fois le code Python et dans des cas de test. Donc, si je l'ai configuré de cette façon, si je veux utiliser l'enregistreur de données de code Python je rencontre le même problème d'avoir besoin results_path d'initialiser l'enregistreur correctement.

Sont là toutes les fonctions dans le robot cadre de la bibliothèque qui me permettrait de saisir la valeur de ${RESULTS_PATH} de code Python? Quelle est la bonne façon de faire quelque chose comme cela?

Droit maintenant, ma solution de contournement pour le problème est de définir RESULTS_PATH comme une variable d'environnement. J'ai donc quelque chose comme:

Courir comme:

RESULTS_PATH=/wherever/this/points pybot test.txt

Fichier test.txt:

***Settings***
Library  logger
...

Fichier logger.py:

results_path = os.environ["RESULTS_PATH"]
# Other set up stuff
InformationsquelleAutor Leslie Chong | 2013-01-17