python接口测试unittest使用详解

unittest框架解析

unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用。

打开pycharm,引入unittest包,requests包

image.png

接着调用unittest

class forTestTest(unittest.TestCase):  #调用unittest

使用unittest中的setUp方法,这个unittest的前置条件我们可以在这个里面编写登录等需要获取cookie或者token之类的接口
python接口测试unittest使用详解_第1张图片

class forTestTest(unittest.TestCase):  #调用unittest
    def setUp(self) -> None:             #前置条件
        #登录接口
        re = requests.post(url='http://localhost:8888/login',data={'name': 'xiaohong', 'pwd': '456'})#发送接口请求
        print(re.text)#打印接口信息
        test = re.json()['data']['test'][0]['name']#获取接口中的name值
        print(test)#打印name值
        global token#设置一个全局变量
        token = re.json()['data']['token']#给全局变量赋值,值为接口响应的token的值

在添加一个后值条件,再用例执行完之后执行
python接口测试unittest使用详解_第2张图片

def tearDown(self) -> None:          # 后置条件
    print("执行结束")#打印标示用例执行结束

写具体需要执行的接口,这边写一个查询接口,调用前置条件获取的登录返回的token这个值,进行查询接口访问
!image.png

def test_01(self):
    #查询接口
    res = requests.post('http://127.0.0.1:8888/user', data={'token': token})#请求查询接口,携带登录接口的token值
    a = res.text
    print(a)#打印结果

这里如果不想写接口代码可以使用国产接口测试工具apipost直接生成

python接口测试unittest使用详解_第3张图片
python接口测试unittest使用详解_第4张图片
python接口测试unittest使用详解_第5张图片

运行一下给大家看一下运行结果

python接口测试unittest使用详解_第6张图片

完整代码

import unittest
import requests

class forTestTest(unittest.TestCase):  #调用unittest
    def setUp(self) -> None:             #前置条件
        #登录接口
        re = requests.post(url='http://localhost:8888/login',data={'name': 'xiaohong', 'pwd': '456'})#发送接口请求
        print(re.text)#打印接口信息
        test = re.json()['data']['test'][0]['name']#获取接口中的name值
        print(test)#打印name值
        global token#设置一个全局变量
        token = re.json()['data']['token']#给全局变量赋值,值为接口响应的token的值


    def tearDown(self) -> None:          # 后置条件
        print("执行结束")#打印标示用例执行结束



    def test_01(self):
        #查询接口
        res = requests.post('http://127.0.0.1:8888/user', data={'token': token})#请求查询接口,携带登录接口的token值
        a = res.text
        print(a)#打印结果

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

你可能感兴趣的:(python接口测试unittest使用详解)