Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 13891

Robot Framework: access Robot's global variables from Python library code?

$
0
0

I have some settings-type global vars that I'd like to be able to access from Python code. For example:

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

Now, my module logger.py file needs to know the results_path to set up properly.

I know that I can initialize the logger with a variable, like

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

And then in logger I'll be passed results_path:

 def __init__(self, results_path):   # Whatever

However the problem with doing it this way for me is that I want to access and use the logger from both Python code and within test cases. So if I set it up this way, if I want to use the logger from Python code I run into the same problem of needing results_path to initialize the logger properly.

Are there any functions in the robot framework library that would allow me to grab the value of ${RESULTS_PATH} from Python code? What is the proper way to do something like this?

Right now, my workaround for the issue is to set RESULTS_PATH as an environment variable. So I have something like:

Run like:

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

File test.txt:

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

File logger.py:

results_path = os.environ["RESULTS_PATH"]# Other set up stuff

Viewing all articles
Browse latest Browse all 13891

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>