Code snippet:
from robot.api import TestCaseFile
from robot.api import TestSuite
from robot.api import TestSuiteBuilder
from robot.api import ResultWriter
from robot.api import logger
class SampleClient:
def __init__(self,configFileName):
self.testdetails = {}
self.loglevel = "INFO"
/* instead of use os.getcwd and i want to use $EXECDIR builtin OS variable */
| ${EXECDIR} | An absolute path to the directory where test execution was started from. New in Robot Framework 2.1. |
self.logpath = os.getcwd()
self.reportpath = os.getcwd()
self.logpath = BuiltIn().get_variable_value('${ $EXECDIR}')
self.reportpath = BuiltIn().get_variable_value('${ $EXECDIR}')
getting following error
self.logpath = BuiltIn().get_variables().get('${EXECDIR}')
File "/usr/local/lib/python2.5/site-packages/robot/libraries/BuiltIn.py", line 940, in get_variables
return utils.NormalizedDict(self._variables.current, ignore='_')
File "/usr/local/lib/python2.5/site-packages/robot/libraries/BuiltIn.py", line 2664, in _variables
return self._namespace.variables
File "/usr/local/lib/python2.5/site-packages/robot/libraries/BuiltIn.py", line 2656, in _namespace
return self._context.namespace
AttributeError: 'NoneType' object has no attribute 'namespace'
def generateTests(self):
self.testSuite = TestSuite(Constants.TEST_SUITE_NAME)
self.testSuite.imports.library(Constants.LIBRARY_NAME,args=[self.testdetails])
scriptname_list = self.getSASScript()
if scriptname_list.__len__() == 0:return False
for script_name in scriptname_list:
test = self.testSuite.tests.create(script_name)
test.keywords.create(Constants.KEYWORD_EXECUTE, args=[script_name])
test.keywords.create(Constants.KEYWORD_RESULT_SHOULD_BE, args=[Constants.TEST_PASSED])
return True
def getScripts(self):
script_list = []
if os.path.islink(Constants.SCRIPT_LINK_PATH):
script_list = [fn for fn in os.listdir(Constants.SCRIPT_LINK_PATH) if any([fn.endswith(ext) for ext in Constants.SCRIPT_EXTENSIONS])];
return script_list