import unittest,requestsimport ddtfrom BeautifulReport import BeautifulReport as bffrom urllib import parse@ddt.ddtclass Login(unittest.TestCase): base_url = ‘http://118.24.3.40/‘ @ddt.file_data(‘login.yaml‘)#ddt帮你读文件,获取文件内容,循环调用函数 def test_request(self,**kwargs): detail = kwargs.get(‘detail‘,‘没写用例描述‘) self._testMethodDoc = detail #动态的用例描述 url = kwargs.get(‘url‘)#url url = parse.urljoin(self.base_url,url)#拼接好url method = kwargs.get(‘method‘,‘get‘)#请求方式 data = kwargs.get(‘data‘,{}) #请求参数 header = kwargs.get(‘header‘,{})#请求头 cookie = kwargs.get(‘cookie‘,{})#cookie check = kwargs.get(‘check‘) method = method.lower() #便于处理 try: if method==‘get‘: res = requests.get(url,params=data,cookies=cookie,headers=header).text #因为接口有异常的情况下, 可能返回的不是json串,会报错 else: res = requests.post(url,data=data,cookies=cookie,headers=header).text except Exception as e: print(‘接口请求出错‘) res = e for c in check: self.assertIn(c,res,msg=‘预计结果不符,预期结果【%s】,实际结果【%s】‘%(c,res)) sutie = unittest.TestSuite()sutie.addTest(unittest.makeSuite(Login))run = bf(sutie)run.report(‘login_test‘,‘登录测试用例‘)print(run.success_count) #通过的次数print(run.failure_count) #失败的次数# 1、运行的用例条数是不是和你的用例数一样# 2、看看有没有其他不对的地方 如果报告报gbk编码错误,需要更改源码中encode
原文地址:https://www.cnblogs.com/irisx/p/9141064.html
时间: 2024-08-23 00:49:50