Comments (4)
You are fully right that we do not propagate variables created by Set Global Variable/Set Suite Variable
to test suite, test case or keyword from where it is executed. The main reason is that Robot Framework gives possibility to perform tests in different order i.e. by declare execution by specific tags, so if you will have example like below:
*** Test Cases ***
TestA
[Tags] Prepare
Set Suite Variable ${z} 10
TestB
[Tags] Exec
Log ${z}
and only tag Exec
will be take in account during test perform, You will get an information about variable ${z} unknown
.
Therefore for better visibility we have not been decided to implement some extra but still possible to failing mechanism of variable providing - equal to create robot test execution interpreter inside RED.
In my opinion tests are pretty the same like programming language, so you have in\out
variables. For some special, but unlike global
is good to have one place to check. Therefore I think You can use created variables in python file and import them to red.xml in Section Variable files
. So in example:
GLOBAL_VARS.py
OBJECT = None
should make variable ${OBJECT}
visible at whole project.
For suite variables
is better to define them in
*** Variables ***
section.
from red.
In a case, you described, I'm totaly agree with you. Moreover this is a bad practice, because TCs should be independent. But in a case, I've described this global variable is defined in a suite setup, which will be executed in any case. Is it possible to distinguish such a case?
from red.
This is a valid argument, we will discuss this among the team.
For now you can follow Adam advice to create sample python file variable and add it to red.xml in variable files section so it will be visible around project without changing testcases itself.
from red.
The case:
*** Settings ***
Suite Setup Set Global Variable ${X} 1
*** Test Cases ***
test
Log ${X}
is covered. We are not willing to push it further and look inside custom keywords used as a setup in order to check if they eventually call Set Global Variable
.
from red.
Related Issues (20)
- eclipse+RED Robot Editor,False positive error HOT 1
- Cannot find RED.exe or any .exe files in RED master. Perhaps I'm the fool but it's really not clear to me how to go about installing RED without an executable file. HOT 1
- any plan to support robot framework 4.0? HOT 2
- Successfully imported python library does not see its keyword in run HOT 1
- Cannot use Undo in Eclipse HOT 4
- Guideline for Developer : How to build and debug Red Plugin source code HOT 2
- An internal error occurred during: "Looking for Python installations". HOT 2
- How to rerunfailedsuites using maven plugin
- With latest version of Robot Framework i am unable to get assistance calls HOT 1
- RED can not support adding library by pyc files
- How can I configure the working directory for a test execution? HOT 4
- 'Building' has encountered a problem. An internal error occurred during. "Building" HOT 5
- Unable to communicate with XML-RPC server HOT 2
- Missing requirement: org.eclipse.equinox.app 1.4.400.v20191212-0743 requires 'osgi.ee; (&(osgi.ee=JavaSE)(version=1.7))' but it could not be found
- does RED editor support Robot framework 5? HOT 2
- Library not being recognized using Red HOT 3
- Error while building new Project
- Unable to open .robot files after RED installation in Eclipse: Unable to initialize Suite editor HOT 3
- Is Eclipse and RED supporting Robotframework 6.0?(Project is not building in Eclipse with RED "https://sourceforge.net/projects/red-robot-editor/files/repository/0.9.1/)
- Library specification generation problem HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from red.