AAdams001
(A Adams001)
3 February 2022 16:24
1
I created a tasks.py file in my project root with the following code to get the root path.
import pathlib
import robot.libraries.OperatingSystem
ROOT = pathlib.Path(__file__).parent.resolve().as_posix()
How do I assign the tasks.py ROOT variable to a robot framework environment variable I can use in a test case to reference a variable file correctly with full path to end up with this:-
Variables ${ROOT}/reference_libraries/resources/variables/int_variable.py
instead of:-
Variables C:/Users/AhrenA/Documents/GitHub/yoyo-api-gateway-api-testing/reference_libraries/resources/variables/int_variable.py
*** Settings ***
Variables task.py
Variables ${ROOT}/reference_libraries/resources/variables/int_variable.py
should work, however, note that this is a builtin variable already
${EXECDIR} | An absolute path to the directory where test execution was started from.
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#built-in-variables
So
*** Settings ***
Variables ${EXECDIR}/reference_libraries/resources/variables/int_variable.py
would be better
AAdams001
(A Adams001)
3 February 2022 17:09
3
That would give me the execution directory and not the project root directory so I get :-
C:\Users\AhrenA\Documents\GitHub\yoyo-api-gateway-api-testing\functional_tests\partner
when what I want is:-
C:/Users/AhrenA/Documents/GitHub/yoyo-api-gateway-api-testing
which would give me absolute path :-
C:\Users\AhrenA\Documents\GitHub\yoyo-api-gateway-api-testing\reference_libraries\resources\variables\int_variable.py
Would this work then?
*** Settings ***
Variables ${EXECDIR}/../../reference_libraries/resources/variables/int_variable.py
Seems a lot simpler than including another python library.
AAdams001
(A Adams001)
4 February 2022 13:10
5
So changed tact and just made sure to execute all tests from the project root folder, allowing me to use built in ${EXECDIR}
1 Like