持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情
使用 Robot Framework 进行接口测试
Robot Framework 测试框架更像一个测试平台,它本身只提供了最基础的测试功能,例如,测试用例的是 一组织、运行、测试报告的生成,以及最基本的Builtin库,该库提供了最基础的关键字来实现打印,变量定 义,if语句,for循环等。
那么,我们想要完成不同类型的测试,就需要安装不同的库。Robot Framework提供了非常丰富的库,标 准库加扩展库有几十个。
web 自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library for Java、watir-robot等。 Windows GUI测试:AutoItLibrary。
移动测试:Android library、iOS library、AppiumLibrary等。
数据库测试:Database Library(Java)、Database Library(Python)、MongoDB library等。 文件对比测试:Diff Library。
HTTP 测试:HTTP library (livetest)、HTTP library(Requests)等。
好吧!我现在要用其来进行HTTP接口测试,所以这里选择安装HTTP library(Requests)。 pypi.python.org/pypi/robotf…
通过pip
命令安装: cmd.exe
pip install -U robotframework-requests
验证Library 添加的是否正确,主要通过添加完Library的颜色判断,如果为黑色表示添加成功,如果有 为红色表示添加失败。读者就需要判断该Library是否安装,或者添加时填写的Name是否正确。
再接下来就可以在测试用例的表格中填写接口测试用例了。
下面解释一下用例所用到的关键字:
Create Session:create a HTTP session to a server。 Get request:
Send a GET request on the session object found using the given 'alias' 'alias' that will be used to identify the Session object in the cache 'uri' to send the GET request to
'params' url parameters to append to the uri
'headers' a dictionary of headers to use with the request
'timeout' connection timeout Should Be Equal As Strings:
用于比较返回的字符串,这里判断接口返回码是否为200。 Dictionary Should Contain Value:
用于比较返回的字典是否包含xxx。这里返回的数据为json格式,先将其转换成字典。然后再判断字典 的vlaue中是否包含“success”。
再接来创建一个带参数的post请求。
与前面的Get 请求的创建类似,相比较多用到一个关键字。 Create Dictionary:
用于创建字典,这里用于创建post请求的参数。
在Create Session时将定义的S{proxies}字典与接口URL一起。然后通过Post Requests关键字发送Post 请 求。