将ROBOT Framework用于Restful API Automation是否合适?

时间:2017-02-21 05:21:53

标签: python robotframework

我的项目有一个自动化存储库,它包含5-6个库文件,一些配置文件,作业文件和大约300个用Python编写的测试用例,测试用例使用python的unittest包。 现在我想将所有这些测试用例移植到某个框架,以便它可以为我提供电子邮件,扩展和作业运行的一些基本功能。 为此使用Robot Framework会有帮助吗? 任何建议将不胜感激。

2 个答案:

答案 0 :(得分:5)

是的,Robot Framework使用`RequestsLibrary支持REST API。

示例程序,您可以查看以下内容:

*** Settings ***
Documentation     REST API Testcase
Library           RequestsLibrary
Library           String
Library           Collections

*** Variables ***
${headers}        ${Empty}
${AliasName}      CLM

*** Test Cases ***
GetRequestAPI
    [Tags]    Sanity
    Create the Session    ${AliasName}    ${GetReqURL}
    ${headers}=    Create the Header    ${contentType}    ${authorizationFlag}
    ${resp}=    Get the Request    ${AliasName}    ${GetReqURI}    ${headers}
    Verify the Response    ${Resp}    ${GetReqStatusCode}

PostRequestAPI
    Create the Session    ${AliasName}    ${PostReqURL}
    ${headers}=    Create the Header    ${contentType}    ${authorizationFlag}
    ${resp}=    Post the Request    ${AliasName}    ${PostReqURI}    ${PostReqData}    ${headers}
    Verify the Response    ${Resp}    ${PostReqStatusCode}

*** Keywords ***
Verify the Response
    [Arguments]    ${response}    ${resp_status}
    Log    Response code is : ${response.status_code}
    Should Be Equal As Strings    ${response.status_code}    ${resp_status}
    Log    Response body is : ${response.text}

希望,这会有所帮助

答案 1 :(得分:1)

如果您只使用Robot Framework进行REST API自动化,它可以很好地工作。但是,robotframework有许多外部库,它们映射到文件操作,字符串操作等等。 http://robotframework.org/#libraries

根据我的经验,将这些库链接到您自己的库和关键字会导致系统测试环境难以调试。外部库映射到​​python库,最好直接在自己的库中使用python库,因为它删除了一层抽象。

例如,在robotframework循环语法以及如何定义变量范围。它不像普通的python那样可读,你没有像生成器和itertools这样的东西。

For loop over dictionary in Robot Framework