2016-09-06 1 views
0

사용자 정의 키워드는 파이썬 2.7로 작성 :사용자 정의 작성된 Robot Framework 키워드에 여러 인수를 전달하는 방법?

다음과 같이 예상대로 우리가 하나의 라인에서의 작업을 paremeters을 보내
@keyword("Update ${filename} with ${properties}") 
def set_multiple_test_properties(self, filename, properties): 
    for each in values.split(","): 
     each = each.replace(" ", "") 
     key, value = each.split("=") 
     self.set_test_properties(filename, key, value) 

:

"Update sample.txt with "test.update=11,timeout=20,delay.seconds=10,maxUntouchedTime=10" 

을하지만 우리는 새로운으로 위의 라인을 수정할 때 라인은 (가독성을 높이기 위해) 작동하지 않습니다.

Update sample.txt with "test.update = 11, 
         timeout=20, 
         delay.seconds=10, 
         maxUntouchedTime=10" 

실마리가 있습니까?

+1

여러 개의 인수를 제공하는 방법이나 개행 문자가 포함 된 긴 인수를 묻는 중입니까? 질문 제목과 본문이 서로 다른 두 가지 질문을하는 것 같습니다. –

답변

0

나는 그것이 작동 여부,하지만 당신의 접근 방식은 작동하지 않습니다이

Update sample.txt with "test.update = 11, 
... timeout=20, 
... delay.seconds=10, 
... maxUntouchedTime=10" 
+0

답변 해 주셔서 감사합니다. 위의 방법은 작동하지 않습니다. RFW는 각 행을 별도의 키워드로 생각하고 있습니다. – rcubefather

0

같은 시도하십시오 여부를 매우 확실하지 오전, 제 2 라인은 "타임 아웃이라는 키워드 (의 호출로 간주됩니다 원인 = 20 "), 세 번째 다른 하나, 등등. 세 점은 "셀 구분 기호"- 구분 기호 b/n 인수 때문에 작동하지 않습니다.

Update sample.txt with "${props}" 

: 그 변수와 키워드를 호출 한 후

${props}= Catenate  SEPARATOR=${SPACE} 
...  test.update = 11, 
...  timeout=20, 
...  delay.seconds=10, 
...  maxUntouchedTime=10 

, 그리고 : 당신이 읽기 쉽도록하려는 경우

, 당신은 (는 문자열 라이브러리에서의)를 사슬로 잇다의 kw를 사용할 수 있습니다

btw, a) 데코레이터의 키워드 선언에 큰 따옴표가 없다고 생각합니다. 즉, 그것들은 인수 값의 일부로 취급 될 것입니다. b) py 메소드에 오류가있는 것 같습니다. 인수의 이름은 "속성"이고 반복자는 "값"을 사용합니다. c)이 목적을 위해 이름이 지정된 varargs (파이썬에서 ** kwargs, RF 구문에서 $ {kwargs})를 사용하는 것을 고려할 수 있습니다 (미안, offtopic,하지만 저항 할 수 없었습니다 :)

관련 문제