Python-unittest---测试用例批量执行
2017-03-24 16:04
871 查看
测试用例执行层:
接收前端json报文
解析json报文
组装测试套
组装测试用例
批量执行
输出测试报告
接收前端json报文
解析json报文
组装测试套
组装测试用例
批量执行
输出测试报告
#!/usr/bin/python # -*- coding: UTF-8 -*- """ Created on 2017/3/23 15:41 @author: Jason.ma """ import unittest import json class exe(object): def __init__(self, exe_case): """ 装载要执行的测试用例套件 :param exe_case: 测试用例模块 data={"mod1":{"test_class1":["test_case1","test_case2"]},"mod2":{"test_class2":["test_case1","test_case2"]}} """ self._test_class_suite = [] self.suite = unittest.TestSuite() if type(exe_case) == dict: pass else: raise TypeError("请检查要执行的测试用例信息是否正确,应为dict类型") if len(exe_case): for (case_mod, tc_info) in exe_case.items(): test_mod = __import__(case_mod) self.__add_suite(test_mod, tc_info) def execute_tc(self): unittest.TextTestRunner(verbosity=2).run(self.suite) def __add_suite(self, test_mod, tc_info): for (cls_name, tc_name) in tc_info.items(): if hasattr(test_mod, cls_name): test_class_instance = getattr(test_mod, cls_name) for tc in tc_name: self.suite.addTest(test_class_instance(tc)) else: raise AttributeError(cls_name + "属性不存在") # 1.需要执行的测试用例 # 2.需要执行的测试类 # 3.需要执行的测试模块 if __name__ == "__main__": pro_class = {"product": ["test_product_info", "test_product_rate", "test_product_verison"]} acc_class = {"account": ["test_account_amt", "test_account_name", "test_account_pwd"]} test_data = {"product": pro_class, "account": acc_class} test = exe(test_data) test.execute_tc() # tc = {"product": "product", "account": "account"} # suite = unittest.TestSuite() # for (k, v) in data.items(): # test_class = __import__(k) # for (i, j) in v.items(): # test_instance = getattr(test_class, i) # for test in j: # suite.addTest(test_instance(test)) # # unittest.TextTestRunner(verbosity=2).run(suite) class exe_json_data(object): def __init__(self, json_data): pass pro_class = {"product": ["test_product_info", "test_product_rate", "test_product_verison"]} acc_class = {"account": ["test_account_amt", "test_account_name", "test_account_pwd"]} test_data = {"product": pro_class, "account": acc_class} jsons = json.dumps(test_data) print jsons # 解析json data = json.loads(jsons) print data["product"]["product"] import time from com.json.utils.HTMLTestRunner import HTMLTestRunner now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) filename='C:\\Users\\jason\\Desktop\\report\\'+now+"category.html" fp=file(filename,"wb") runner=HTMLTestRunner( stream=fp, title=u"产品信息", description=u"用例执行情况") test = exe(test_data) runner.run(test.suite) fp.close()
相关文章推荐
- selenium之unittest批量执行测试用例、生成html报告
- python利用unittest进行测试用例执行的几种方式
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- 【selenium】python+selenium+unittest,关于每次执行完一个测试用例都关闭浏览器等时间较长的问题之解决方案
- python基础===利用unittest进行测试用例执行的几种方式
- appium自动化测试实践之python利用unittest进行测试用例执行的几种方式(转载)
- 用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。 unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那
- python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,并不像某些人写的每次只执行一个测试类,具体看代码,附上整个project代码
- Python中unittest框架写测试用例
- Python单元测试框架之pytest---如何执行测试用例
- selenium---unittest框架测试用例函数执行顺序 优先级
- unittest 执行测试用例的顺序
- selenium---unittest框架测试用例函数执行顺序 优先级
- 使用testsuit执行测试用例,选择特定用例执行多次的方法(appium+python)
- Python UnitTest 框架执行功能自动化测试
- Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例
- selenium---unittest框架测试用例函数执行顺序 优先级
- python unittest控制用例的执行顺序
- Python unittest 测试框架学习笔记
- (selenium 三)批量执行测试用例