python 接口测试 unittest 使用详解

unittest框架解析

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

打开pycharm,引入unittest包,requests包


接着调用unittest

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

使用unittest中的setUp方法,这个unittest的前置条件我们可以在这个里面编写登录等需要获取cookie或者token之类的接口


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("执行结束")#打印标示用例执行结束

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


def test_01(self):

    #查询接口

    res = requests.post('http://127.0.0.1:8888/user', data={'token': token})#请求查询接口,携带登录接口的token值

    a = res.text

    print(a)#打印结果

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





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




完整代码

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()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容