通过机器人框架工具进行Web服务测试

时间:2014-04-12 18:44:26

标签: web-services rest robotframework

我是机器人框架的新手,并通过机器人框架开展休息Web服务测试自动化。 我的经理建议我通过机器人框架自动化SOAPUI,我找到了一个库,即使下面给出的这个库似乎也没有很好的文档记录。 即使库中给出的示例更基于SOAP的Web服务,我正在寻找通过soapui自动化而不是基于soap的webservices进行休息Web服务测试。 https://github.com/pavlobaron/robotframework-soapuilibrary

因此,请通过机器人框架中的SOAPUI自动化建议我进行休息Web服务测试自动化。

另一个approch是休息webservice通过机器人框架测试自动化而没有使用soapui工具。可以使用一些welll文档库 http://peritus.github.io/robotframework-httplibrary/HttpLibrary.html

任何人都可以建议我使用上述两个关于机器人框架测试自动化的休息网络服务解决方案。

2 个答案:

答案 0 :(得分:5)

要测试RESTful服务,您可以使用Requests库。该库的主页为https://github.com/bulkan/robotframework-requests/

为了测试SOAP服务,您可以使用Suds库。该库的主页为https://github.com/ombre42/robotframework-sudslibrary

机器人框架主页上提供了这两个链接以及许多其他链接。这是一个快速链接:

http://robotframework.org/#test-libraries

这是一个连接到RESTful服务并验证它返回状态代码200并且JSON数据有一些特定键的示例(请注意,此测试在我编写它时通过,但是如果API在我编写它的时间和你读它的时间之间发生了变化,它可能会失败)

*** Settings ***
| Library | RequestsLibrary
| Library | Collections

*** Variables ***
| ${SERVICE_ROOT} | http://api.openweathermap.org
| ${SERVICE_NAME} | openweathermap

*** Test Cases ***
| Example RESTful API test
| | [Documentation] | Example of how to test a RESTful service
| | 
| | Create session | ${SERVICE_NAME} | ${SERVICE_ROOT}
| | ${response}= | Get | ${SERVICE_NAME} | /data/2.5/weather?q=chicago,il
| | 
| | Should be equal as numbers | ${response.status_code} | 200
| | ... | Expected a status code of 200 but got ${response.status_code} | values=False
| | 
| | ${json}= | To JSON | ${response.content}
| | :FOR | ${key} | IN
| | ... | coord | sys | weather | base | main | wind | clouds | dt | id | name | cod
| | | Run keyword and continue on failure
| | | ... | Dictionary should contain key | ${json} | ${key} 
| | | ... | expected json result should contain key '${key}' but did not

答案 1 :(得分:1)

这是我关于如何集成SoapUI和RF的博客: http://qatesterblog.blogspot.com/2018/04/integrating-soapui-into-robot-framework.html

总结:

  1. 一个关键字通过testrunner ith开关运行每个测试用例:-rMI
  2. 使用XML库处理XML报告。如果它发现案件是"完成",这意味着通行证。如果没有,将捕获失败消息并抛出失败