2013-10-31 3 views
0

저는 방금 Robot 프레임 워크 (방금 Python을 배우기 시작했습니다.)에서 작업하기 시작했습니다. Google 문서에서 코드 예제를 실행하려고 할 때마다 다양한 오류가 발생합니다. 이제, 나는 내 무지를 사과하며, 내가 어디로 잘못 가고 있는지 알고 싶다. 예 : Google 코드에서이 코드를 복사하지만 작동하지 않습니다.로봇 프레임 워크 - Google 워드 프로세서의 예제가 작동하지 않습니다.

:FOR ${var} IN @{VALUES} 
Continue For Loop If '${var}' == 'CONTINUE' 

내 값/var 변수가 작동하려면 어떻게해야합니까? 그것은 항상 "NOT 키워드 예외"를 던집니다. 나는 자이 썬 BTW를 설치하지 않았다. 그것을 설치해야합니까?

또한 어떻게 "CALL METHOD"키워드를 사용할 수 있습니까?

Call Method ${hashtable} isEmpty 

does not work. 해시 테이블을 일부 val로 초기화하거나 아무 것도 설정하지 않은 경우에도 마찬가지입니다.

편집 : 나는 위의 코드를 실행하려고

TC 01 
    FOR ${item} IN @{list} 
     Log ${item} 

. 나는 목록과 항목을 모두 정의했다. (변수를 선언하는 것은 불필요하다고 생각하며, 틀렸다면 수정해라.) 이제이 코드를 실행하려고하면 'For'가 예약 된 키워드 오류입니다. 내가 LOG 또는 FOR 앞에 '\'를 삽입하려고하면 "KeyWord with name '\ FOR'FoUND"라고 표시됩니다. . 내가 도대체 ​​뭘 잘못하고있는 겁니까??

답변

2

Robot Framework를 사용하면 자이 썬이 필요하지 않으며 단지 옵션 일뿐입니다. 파이썬 만 있으면 충분합니다. 루프

귀하가 유효하지 않습니다, 그것은 다음과 같이해야한다 :

*** Variables *** 
@{list}   foo bar lorem ipsum dolor sit amet 

*** Test Cases *** 
Example 
    : FOR ${item} IN @{list} 
    \ Log ${item} 

당신은 example.txt과 같은 디렉토리에 pybot example.txt를 실행, 그것은 통과 개별적으로 list의 모든 항목을 기록합니다 것을 저장합니다.

Call Method을 사용하려면 전화 할 방법이있는 개체가 필요합니다. 따라서 클래스, 함수 및 해당 클래스를 인스턴스화하여 변수에 할당 한 파이썬 파일이 있어야합니다. 이처럼 :

class MyObject: 
    def __init__(self): 
     self.args = None 
    def my_method(self, *args): 
     self.args = args 

obj = MyObject() 

과 (example.txt과 동일한 디렉토리) vars.py에 그 내용을 저장하고 다음에에 넣고 당신의 example.txt

*** Settings *** 
Variables   vars.py 

*** Variables *** 
@{list}   foo bar lorem ipsum dolor sit amet 

*** Test Cases *** 
Example 
    : FOR ${item} IN @{list} 
    \ Log ${item} 

Example2 
    Call Method ${obj} my_method 
    Should Be True ${obj.args} ==() 
    Call Method ${obj} my_method arg 
    Should Be True ${obj.args} == ('arg',) 
    Call Method ${obj} my_method  a1  a2 
    Should Be True ${obj.args} == ('a1','a2') 

하지만 내 생각 엔 당신이 정말로 Call Method를 사용하지 않는다는 것입니다 이 지점에서.

+0

고맙습니다. 하지만 당신의 for 루프가 유효하지 않다는 것은 무엇을 의미합니까? Google 문서에서 for 루프의 코드 스 니펫을 복사했습니다. 그럼에도 불구하고, 나는 당신에게 동의합니다. 내가 사용한 문법은 나에게 의미가 없다. – TheLostMind

+0

': $ {var} IN @ {VALUES} 루프 계속 '$ {var}'== 'CONTINUE'는 FOR 루프에 키워드가 없다는 것을 의미합니다. 'Continue For For Loop If' 키워드 앞에'\'를 넣어야합니다. – Harri

+0

감사합니다. 편집 한 후 내 질문을 확인하십시오. – TheLostMind