Django之Restful接口测试-Python+Requests+Unittest(六)

传送门:
Django之安装(一)
Django之创建项目与配置(二)
Django之添加API(三)
Django之Swagger接口文档生成(四)
Django之Restful接口测试-Postman(五)
Django之Restful接口测试-Python+Requests+Unittest(六)
Django之Restful接口测试-Django自带测试模块(七)

Python+Requests+Unittest框架

在第五章介绍了使用Potsman工具对Restful接口进行测试,接下来我们使用Python+Requests+Unittest框架进行接口测试用例的编写。

import requests
import unittest

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

    #GET查询接口username参数
    def test_get_user(self):
        r = requests.get(self.base_url+'/1/',auth=self.auth)
        result = r.json()
        self.assertEqual(result['username'],'user001')
        self.assertEqual(result['email'],'[email protected]')

    #POST添加创建用户
    def test_add_user(self):
        form_data = {'username':'user0011','email':'[email protected]','groups':'http://127.0.0.1:8000/groups/2/'}
        r = requests.post(self.base_url+'/',auth=self.auth,data=form_data)
        result = r.json()
        self.assertEqual(result['username'], 'usernew')

    #DELETE删除一条用户数据
    def test_delete_user(self):
        r = requests.delete(self.base_url+'/7/',auth=self.auth)
        self.assertEqual(r.status_code,204)

    #UPDATE局部更新参数
    def test_update_user(self):
        form_data={'email':'[email protected]'}
        r = requests.patch(self.base_url+'/6/',auth=self.auth,data=form_data)
        result = r.json()
        self.assertEqual(result['email'],'[email protected]')

    #GET验证无权限时接口返回参数值
    def test_no_auth(self):
        r = requests.get(self.base_url)
        result = r.json()
        self.assertEqual(result['detail'], 'Authentication credentials were not provided.')
        print(result['detail'])

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

你可能感兴趣的:(Django,python,requests,Python,Django,Requests,Unittest,接口测试用例)