unittest是Python单元测试框架。但它不仅可以适用于单元测试,还可以适用接口自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。今天就总结下如何使用unittest单元测试框架来进行接口自动化测试。
一、导入unittest包
python包中自带unittest包,不要单独安装,可直接导入。
二、测试类必须继承unittest测试框架
三、类方法
必须在方法前面加装饰器@classmethod
四、测试方法
必须以test开头
五、调用测试类
将unittest运用到接口测试项目中,如下代码:
import unittestimport json,randomfrom 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 suiteif __name__=="__main__": #运行测试套件方法 unittest.TextTestRunner().run(suite())
原文地址:https://www.cnblogs.com/newdream-yanzi/p/12555388.html
时间: 2024-11-06 07:21:20