Web Service和REST(下)

Posted weixin_43802541

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Service和REST(下)相关的知识,希望对你有一定的参考价值。

6.3 REST风格项目接口测试

目录:

  1. 6.3.1 项目准备
  2. 6.3.2 接口文档
  3. 6.3.3 编写接口测试用例

6.3.1 项目准备
这里我们会使用另外一个经过REST风格重构的项目:/项目/hello_hzdl_sec_rest

这个项目使用了djangorestframework的REST框架、drf-yasg和swagger_spec_validator生成swagger接口文档,所以运行这个项目需要先安装这三个模块:

在pycharm中,打开项目,在terminal中输入命令,运行系统:

6.3.2 接口文档

REST风格项目的接口文档一般是开发使用相应的Swagger自动生成,例如,python的django项目一般使用drf-yasg。
生成的api文档地址一般是:
项目url/doc/
项目url/redoc/
REST生成的api接口地址一般为:
项目url/api/

项目的接口文档地址
http://127.0.0.1:8000/doc/

或采用redoc风格的接口文档(似乎更美观一些):

项目的api地址
可以通过项目的api接口对Model或者资源进行操作

6.3.3 编写接口测试用例
在原来的测试项目下新建一个python package:case_rest ,将rest风格项目的用例放在此文件夹下,避免和之前的用例冲突

我们以http://127.0.0.1:8000/api/courses/为例,演示REST接口的用例编写

6.3.3.1 导包
导入测试所需的模块

6.3.3.2 前置条件
插入准备数据,设置接口地址

6.3.3.3 编写接口用例
注意系统设置了Basic Auth用户验证,需要使用管理员账号和密码:admin 123456 进行验证,才能连接接口

获取所有课程列表

获取某个课程

增加课程

更新课程


更新课程部分信息

删除某个课程

REST风格的接口测试用例和之前的接口测试用例有一些区别:接口的URL地址指向的不是函数或方法,而是资源的表现层,或理解为数据
`对资源的操作不是通过调用开发编写的增删改查等函数来操作,而是通过HTTP协议的GET、POST、PUT、DELETE的方法来操作

6.3.3.4 运行用例
可以直接运行用例,或和第4章一样在run.py中进行配置

以上是关于Web Service和REST(下)的主要内容,如果未能解决你的问题,请参考以下文章

WCF Web API WCF REST 和 Web Service 的区别

怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现

Web Service和REST(中)

web service, wcf, wcf rest, web api之间的区别

Servlet Get和Web Service Rest之间的区别是什么? [重复]

Java Web Service REST 正确设计最佳实践