2014-09-16 2 views
1

로봇 프레임 워크에로드 된 라이브러리에서 정적 클래스 변수에 액세스 할 수 있습니까? 예를 들어robotframework로 정적 클래스 변수에 액세스 하시겠습니까?

, 나는 내 .robot 파일에 다음 파이썬 라이브러리를 포함 말 :

foo = 'value' 

class MyClass(self): 
    bar = 'value' 

foo는 또는 줄을 참조하는 데 포함 된 .robot 파일에 방법이 있나요?

답변

3

원시 파이썬 모듈에 대한 참조를 Get Library Instance으로 가져온 다음 extended variable syntax을 사용하여 값을 가져올 수 있습니다.

*** Settings *** 
| Library | MyLibrary.py 

*** Test Cases *** 
| Example of accessing variables in a library 
| | ${lib}= | Get Library Instance | MyLibrary 
| | 
| | Should be equal as strings | ${lib.foo} | this is foo 
| | Should be equal as strings | ${lib.MyClass.bar} | this is bar 
+0

robotframework의 $ {object.variable} 액세스 기능을 사용하더라도 "라이브러리"객체에만 적용되지 않습니까? – kimon

+0

@kimon :이 문제에 대해 조금 더 생각한 후에 해결책을 생각해 냈습니다. 내 대답을 편집했습니다. –

0

당신은 ROBOT_LIBRARY_SCOPE = 'GLOBAL'을 추가해야합니다 :

# MyLibrary.py 
foo = "this is foo" 

class MyClass(object): 
    bar = "this is bar" 

당신은 라이브러리에 대한 핸들을 얻을 수 Get Library Instance을 사용하여 foo는 바에 액세스 할 수 있습니다

예를 들어, 라이브러리 이름 MyLibrary.py을 고려 MyClass. 그렇지 않은 경우 Get Library Instance은 MyClass의 두 번째 인스턴스를 만듭니다.

관련 문제