python+requests随笔:unittest框架
Posted 远行的雁子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+requests随笔:unittest框架相关的知识,希望对你有一定的参考价值。
unittest是Python单元测试框架。但它不仅可以适用于单元测试,还可以适用接口自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。今天就总结下如何使用unittest单元测试框架来进行接口自动化测试。
一、导入unittest包
python包中自带unittest包,不要单独安装,可直接导入。
二、测试类必须继承unittest测试框架
三、类方法
必须在方法前面加装饰器@classmethod
四、测试方法
必须以test开头
五、调用测试类
将unittest运用到接口测试项目中,如下代码:
import unittest
import json,random
from demo01.test05_requestClassFZ import requestClass
class MethodCls(unittest.TestCase):
token = None
def setUp(self):
self.run=requestClass()
def test_Cas01(self):
url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=XXXXXX&secret=XXXXXX"
res = self.run.run_main(url,"get")
print(res) # 这里的返回值是已经转换成了json的字典
#设置断言,判断测试用例是否通过
self.assertEqual(res[\'expires_in\'],7200,"测试失败:获取token失败")
# 【注意】提取token做成全局变量供下个接口调用
global token
token=res["access_token"]
# print(token)
#忽略测试:忽略指定的测试用例
# @unittest.skip("testCas02")
def test_Cas02(self):
url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token="+token
data = {
"filter": {
"is_to_all": True,
},
"text": {
"content": "hello"+str(random.randint(1,10))
},
"msgtype": "text"
}
res=self.run.run_main(url,"post",data)
# print(res)
self.assertEqual(res[\'errcode\'], 0, "测试失败:群发消息失败")
# 创建测试套件,将要执行的指定类中的case添加进去
def suite():
suite = unittest.TestSuite()
suite.addTest(methodCls(\'test_Cas01\'))
suite.addTest(methodCls(\'test_Cas02\'))
return suite
if __name__=="__main__":
#运行测试套件方法
unittest.TextTestRunner().run(suite())
以上是关于python+requests随笔:unittest框架的主要内容,如果未能解决你的问题,请参考以下文章