如有任何学习问题,可以添加作者微信:lockingfree
课程目录
Python接口测试实战1(上)- 接口测试理论
Python接口测试实战1(下)- 接口测试工具的使用
Python接口测试实战2 - 使用Python发送请求
Python接口测试实战3(上)- Python操作数据库
Python接口测试实战3(下)- unittest测试框架
Python接口测试实战4(上) - 接口测试框架实战
Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例
Python接口测试实战5(上) - Git及Jenkins持续集成
Python接口测试实战5(下) - RESTful、Web Service及Mock Server
更多学习资料请加QQ群: 822601020获取
本节内容
- REST及RESTful API
- Web Service
- XML解析
- Mock Server
REST及RESTful API
参考链接: https://blog.csdn.net/lch2848508/article/details/72729658
REST:表述性状态转移或表现层状态转移,“表现”及每个接口地址(URI)都表现为(视为)一个资源对象(文本资源、图片资源、服务资源),状态转移指通过POST/PUT方法发送完整的新状态信息来更改资源对象的状态
如某https://api.***.com/user资源状态为{"name": "Kaka", "age": 30}
,我们通过POST/PUT请求发送新状态{"name": "Kaka", "age": 18}
来更新对象信息,完成状态转移
URI 与URL的区别:URL值包含协议的链接,如
https://www.baidu.com
, 还有一种相对链接叫URN,如/doc/1.html
,这两种都能唯一定位一个资源,URI(统一资源定位符)包含URL和URN
RESTful API是一种接口设计风格或规范,主要有以下特点:
- 统一使用https协议
- 接口使用专用的api域名
https://api.example.com/
- 接口分版本管理
https://api.example.com/v1/
- 路径又称"终点"(endpoint),表示API的具体网址,路径中只能包含名词(代表资源对象),可以使用复数来代表多个一个资源集合
https://api.example.com/v1/zoos
- 同一个接口提供多种请求方法,GET获取资源信息,POST新建或更新资源,PUT/PATCH更新资源,DELETE删除资源
- 可以通过url参数过滤信息
https://api.example.com/v1/zoos?limit=10 # 获取前10个
- 尽量使用JSON, 避免使用XML
- 身份认证推荐使用OAuth2.0,或Basic Auth,token等,避免使用Cookie和Session(RESTful强调无状态的设计)
示例:
https://api.github.com
授权 Basic Auth (superhin001, ***) 或 Oauth 2.0 Access Token: 1c4f679300f29ee4e7041028d49e504b9da145b1
GET https://api.github.com/user 获取用户信息
POST/PATCH https://api.github.com/user 修改用户信息
POST/PATCH 数据
{
"login": "superhin001",
"id": 21163682,
"node_id": "MDQ6VXNlcjIxMTYzNjgy",
"avatar_url": "http