美文网首页
[PPJ_17] RESTful接口测试脚本备份

[PPJ_17] RESTful接口测试脚本备份

作者: Fighting_001 | 来源:发表于2018-11-19 21:26 被阅读80次

接前文:
[1] Django-数据库配置、数据序列化、视图创建、URL路由配置、API编辑操作
[2] Django接入Swagger,生成Swagger接口文档-操作解析

当Restful接口开发完成后,即可对所开发的接口进行测试。接口测试的工具有:Python、Postman、JMeter,本次使用Python脚本(requests+unittest)

测试类型
1)功能测试:增、删、改、查
2)异常测试:未授权、参数异常

在API目录下面新建一个test_unittest.py,代码实现如下:
tests_unittest.py

import requests
import unittest

class UserTest(unittest.TestCase):
    def setUp(self):
        self.base_url = 'http://127.0.0.1:8000/users'
        self.auth = ('admin','admin123')

    def test_get_user(self):
        r = requests.get(self.base_url+'/1/',auth=self.auth)
        result = r.json()
        self.assertEqual(result['username'],'admin')
        self.assertEqual(result['email'],'admin@666.com')

    def test_add_user(self):
        form_data = {'username':'Test00003','email':'Test00003@666.com','groups':'http://127.0.0.1:8000/groups/2/'}
        r = requests.post(self.base_url+'/',data=form_data,auth=self.auth)
        result = r.json()
        self.assertEqual(result['username'],'Test00003')
        self.assertEqual(result['email'],'Test00003@666.com')

    def test_update_user(self):
        form_data = {'email':'new001@111.com'}
        r = requests.patch(self.base_url+'/2/',data=form_data,auth=self.auth)
        result = r.json()
        self.assertEqual(result['email'],'new001@111.com')

    # def test_delete_user(self):
    #     r = requests.delete(self.base_url+'/3/',auth=self.auth)
    #     self.assertEqual(r.status_code,404)

    def test_no_auth(self):
        r = requests.get(self.base_url)
        result = r.json()
        self.assertEqual(result['detail'],'Authentication credentials were not provided.')

if __name__ == '__main__':
    unittest.main()

相关文章

网友评论

      本文标题:[PPJ_17] RESTful接口测试脚本备份

      本文链接:https://www.haomeiwen.com/subject/ojnfxqtx.html