码迷,mamicode.com
首页 > 编程语言 > 详细

python+requests随笔(三):unittest框架

时间:2020-03-23 22:10:49      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:失败   装饰器   setup   16px   总结   tps   assert   hello   注意   

  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框架

标签:失败   装饰器   setup   16px   总结   tps   assert   hello   注意   

原文地址:https://www.cnblogs.com/newdream-yanzi/p/12555388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!