最近做接口自动化测试的项目组越来越多了,打算后面写一个RF+requests做接口测试的系列文档,总结遇到的问题,也帮助新入门的同学有个了解,如发现我文档中的不足,请提出意见或建议,以期共同进步!!!
一、环境准备
1、安装robotframework环境
2、相关库:requests,RequestLibrary
3、会抓包,不论是工具或者F12
二、接口实例
比如我们要做一个testerhome的相关接口:https://testerhome.com/topics/8746
首先我们用工具抓到此接口的相关信息,下图是用F12得到的
在上面的接口请求中可以获得以下几个信息
协议:https
host:testerhome.com
URI:/topics/8746
method:get
无传参
第一步:创建一个别名为testerhome的session
第二步:get请求,因为没有参数所以只加一个uri
第三步:断言接口返回code
第四步:打印接口返回信息,以便其他断言
开始做接口测试的时候会对resp.status_code、resp.content等这样的写法感到迷茫,因为返回值信息里面并没有看到,搞不清是从哪里来的,其实在requests/models/Response的方法中可以看到
全部的属性你可以顺着这个方法往下找,其他的:
['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getstate__', '__hash__',
'__init__', '__iter__', '__module__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_content', '_content_consumed', 'apparent_encoding',
'close', 'connection', 'content', 'cookies', 'elapsed', 'encoding', 'headers', 'history', 'is_permanent_redirect', 'is_redirect', 'iter_content',
'iter_lines', 'json', 'links', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']
频繁用到的:
content: 响应body的内容,二进制编码,如果返回只有文本内容,和text差不多
cookies:响应回写的cookies,cookieJar类对象
headers: 响应头内容
json(): 响应body内容,json格式
status_code: 状态码
text: 响应body的内容,默认unicode编码
这次就先写到这里吧,后面会写一下上传附件接口相关的,有感兴趣的也可以留言给我,谢谢!!