5
votes

I am assigning variables in robot framework as

*** Variables ***
${TestNAME}                       test

But can I pass variable value from python file?

#test.py
var = 'test'

Is it possible to assign var to ${TESTNAME}?

2
Does this link answer your question? robotframework.org/robotframework/latest/… - Bryan Oakley

2 Answers

10
votes

If you have a file named "test.py" that has variables defined in it, you can import the variables using the robot variable file feature.

Here's an example, using the pipe-separated format for clarity:

*** Settings ***
| Variables | test.py

*** Variables ***
| ${myTestName} | ${var}

This works because settings are processed before the Variables table. Any variables in the python file can be referenced using the standard robot syntax for variables (eg: python variable var is referenced as ${var})

Note, however, that ${Testname} is automatically set by robot, so your exact requirement can't be met. If you use a non-automatic variable, you can set it the way you want, which is why the above example used ${myTestName}.

0
votes

eg:- The variable file is as shown - var.py

x = 10

y = 20

file1.robot can be written as shown:-

*** Settings ***

Variables var.py

*** Test Cases ***

KEYW1

  Log  ${x}