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