本文主要是介绍Python+unittest+requests+HTMLTestRunner完整的接口自动化测试框架搭建_06——unittest断言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
完整的框架源码下载https://gitee.com/submi_to/interfaceTest.git
以上的我们都准备好了,剩下的该写我们的unittest断言测试case了,在testCase下创建test01case.py文件,文件中内容如下:
import json
import unittest
from common.configHttp import RunMain
import paramunittest
import geturlParams
import urllib.parse
# import pythoncom
import readExcel
# pythoncom.CoInitialize()url = geturlParams.geturlParams().get_Url()# 调用我们的geturlParams获取我们拼接的URL
login_xls = readExcel.readExcel().get_xls('userCase.xlsx', 'login')@paramunittest.parametrized(*login_xls)
class testUserLogin(unittest.TestCase):def setParameters(self, case_name, path, query, method):"""set params:param case_name::param path:param query:param method:return:"""self.case_name = str(case_name)self.path = str(path)self.query = str(query)self.method = str(method)def description(self):"""test report description:return:"""self.case_namedef setUp(self):""":return:"""print(self.case_name+"测试开始前准备")def test01case(self):self.checkResult()def tearDown(self):print("测试结束,输出log完结\n\n")def checkResult(self):# 断言"""check test result:return:"""url1 = "http://www.xxx.com/login?"new_url = url1 + self.querydata1 = dict(urllib.parse.parse_qsl(urllib.parse.urlsplit(new_url).query))# 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'}info = RunMain().run_main(self.method, url, data1)# 根据Excel中的method调用run_main来进行requests请求,并拿到响应ss = json.loads(info)# 将响应转换为字典格式if self.case_name == 'login':# 如果case_name是login,说明合法,返回的code应该为200self.assertEqual(ss['code'], 200)if self.case_name == 'login_error':# 同上self.assertEqual(ss['code'], -1)if self.case_name == 'login_null':# 同上self.assertEqual(ss['code'], 10001)
这篇关于Python+unittest+requests+HTMLTestRunner完整的接口自动化测试框架搭建_06——unittest断言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!