python 接口测试 unittest 使用详解

举报
雨中人 发表于 2021/08/20 11:20:43 2021/08/20
【摘要】 unittest框架解析unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用。打开pycharm,引入unittest包,requests包接着调用unittestclass forTestTest(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()
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。