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