로봇 프레임 워크에로드 된 라이브러리에서 정적 클래스 변수에 액세스 할 수 있습니까? 예를 들어robotframework로 정적 클래스 변수에 액세스 하시겠습니까?
, 나는 내 .robot 파일에 다음 파이썬 라이브러리를 포함 말 :
foo = 'value'
class MyClass(self):
bar = 'value'
foo는 또는 줄을 참조하는 데 포함 된 .robot 파일에 방법이 있나요?
로봇 프레임 워크에로드 된 라이브러리에서 정적 클래스 변수에 액세스 할 수 있습니까? 예를 들어robotframework로 정적 클래스 변수에 액세스 하시겠습니까?
, 나는 내 .robot 파일에 다음 파이썬 라이브러리를 포함 말 :
foo = 'value'
class MyClass(self):
bar = 'value'
foo는 또는 줄을 참조하는 데 포함 된 .robot 파일에 방법이 있나요?
원시 파이썬 모듈에 대한 참조를 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
당신은 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의 두 번째 인스턴스를 만듭니다.
robotframework의 $ {object.variable} 액세스 기능을 사용하더라도 "라이브러리"객체에만 적용되지 않습니까? – kimon
@kimon :이 문제에 대해 조금 더 생각한 후에 해결책을 생각해 냈습니다. 내 대답을 편집했습니다. –