2016-11-23 7 views
2

RobotFramework 및 RobotRequestsLibrary를 사용하여 일련의 API에 대한 스모크 테스트 제품군을 만들고 있습니다. RobotFramework를 처음 사용합니다. 코드를 정리하고 유지 관리하기 위해 키워드를 사용하여 모든 부수적 인 세부 정보를 제거하기로 결정했습니다.RobotFramework 키워드 변수 설정이 잘못되었습니다.

*** Variables *** 
${sint} http://int.somecoolwebsite.com 

*** Test Cases *** 
Retrieve Store Info By Code Should Return Successful 
    [Tags] get 
    Create Session data-int ${sint} 
    ${resp}=  Get Request int /store/1234 
    Should Be Equal As Strings ${resp.status_code} 200 

Retrieve All Store Info Should Return Successful 
    [Tags] get 
    Create Session data-int ${sint} 
    ${resp}=  Get Request int /stores 
    Should Be Equal As Strings ${resp.status_code} 200 

그리고 사용 키워드에서 내 시도 :

예를 들어, 여기에 내가 정리할 두 시험이다

*** Variables *** 
${sint} http://int.somecoolwebsite.com 

*** Keywords *** 
Make ${call} Call To ${end_point} 
    Create Session ${sint} ${sint} 
    ${resp} = Get Request ${sint} ${end_point} 
    ${status} = ${resp.status_code} 
    Set Test Variable ${status} 

Status Should Be ${required_status} 
    Should Be Equal ${status} ${required_status} 

*** Test Cases *** 
Retrieve Store Info By Code Should Return Successful 
    [Tags] get 
    Make Get Call To /store/1234 
    Status Should Be 200 

Retrieve All Store Info Should Return Successful 
    [Tags] get 
    Make Get Call To /stores 
    Status Should Be 200 

내가 얻을 키워드와 테스트 케이스를 실행하면 다음과 같은 오류가 :

Keyword name cannot be empty.

은 내가 디버그하려고 문제를 해결하고 키워드 할당에 중단 점을 넣으면 ${resp}이 할당되고 ${resp.status_code}도 작동한다는 것을 알게됩니다. 그러나 을 할당하려고하면 오류가 발생합니다.

시도해 보았습니다. 내장 변수를 사용하여 변수를 재 할당하는 방법이 다양했지만 행운이 없었습니다. 키워드에서 이러한 방식으로 변수를 할당 할 수 있습니까? 모든 통찰력이 도움이 될 것입니다. 감사!!

${status} = ${resp.status_code} 

입니다 :

+0

죄송합니다.이 정보를 파고 들지는 않으니까요. 간략한 읽기에서 데이터 기반 스타일이 좋을 수도 있습니다. do - http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#data-driven-style – shicky

+0

질문에있는 코드는 오류라고 말하지 않습니다. 그 코드는 나를 위해 잘 작동합니다. –

+0

@BryanOakley 당신 말이 맞습니다. 여기에 코드를 작성할 때'Set Variable' 선언을 추가했습니다. 그것 없이는 오류가 발생합니다. 그러나 테스트 케이스에서 나는 그 선언을 사용할 필요가 없다. – Ptrkcon

답변

1

는 문제의 코드는 여전히 전혀 실행되지 않도록 다른 오류가 있기 때문에이하는 말 오류를 포기하지 않는다하더라도, 문제는이 라인 변수를 할당하는 적절한 방법이 아닙니다. 당신은 너무처럼 Set Variable 키워드 (또는 다른 "설정"키워드의 일부)를 사용합니다

${status}= Set Variable ${resp.status_code} 

당신은 당신이 오류가 모든 테스트 또는 키워드 단계는 키워드가 있어야한다는 것입니다 얻는 이유. 변수 이름 만 있고 키워드는 없으므로 오류가 발생합니다. Keyword name cannot be empty.