博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
摆脱京城贵妇unittest的骚套路discover,自定义用例执行顺序。
阅读量:6714 次
发布时间:2019-06-25

本文共 1991 字,大约阅读时间需要 6 分钟。

# 调试了一下午跟路径拆分逻辑有关的东西,脑阔疼,代码能力薄弱的一批, 还有前人栽htmltestrunner后入乘凉的感觉不要太爽

# 用TestLoader().discover()找到的用例添加进testsuite中执行顺序是按照ASCII顺序来搞得,所以写了这个找固定目录及子目录下的所有固定格式case并自动导入

def find_case(case_path): if os.path.exists(case_path):         script_list = os.listdir(case_path) for script in script_list:             testScript = os.path.join(case_path, script) if os.path.isdir(testScript):                 find_case(testScript) elif script[0:3] == "NO_" and script[-3:] == ".py":                 script_dir = os.path.dirname(testScript)                 script_path = ".".join(script_dir.split("\\")[2:])                 path = "from " + script_path + " import "                 exec_str = path + script[:-3] exec(exec_str, globals())                 case = "%s.%s('%s')" % (script[:-3], script[:-3], "test_procedure")                 case_list.append(case) return case_list
def get_suite(case_path):     cases = find_case(case_path) for case in cases:         suite.addTest(eval(case)) return suite

 pasting

def TestSuitRunner(rootDir=CASE_PATH,                    Report_Name='XXX-X-V2.0 AutoTestReport.html',                    tester='Mariahcat'):     test_suite = get_suite(rootDir)     filePath = os.path.join(REPORT_PATH, Report_Name)     fp = open(filePath, 'wb')     runner = HTMLTestRunner.HTMLTestRunner( stream=fp,         title=Report_Name,         tester=tester         )     runner.run(test_suite)     fp.close()
 
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time    : 2018/7/14 16:09 # @Author  : Mariahcat # @Desc    : from ATFactory.Common.ParameterFactory.Config import Config, CONFIG_FILE from ATFactory.Common.ReportFactory import TestSuitFactory config = Config(config=CONFIG_FILE) REPORT_INFO = config.get("REPROT INFO") test_dir = REPORT_INFO.get('TEST_DIR') report_name = REPORT_INFO.get('REPORT_NAME') tester = REPORT_INFO.get('TESTER') TestSuitFactory.TestSuitRunner(rootDir=test_dir, Report_Name=report_name, tester=tester)

转载于:https://www.cnblogs.com/mariahcat/p/9310544.html

你可能感兴趣的文章
FFmpeg模块介绍
查看>>
张家口a货翡翠,梧州a货翡翠
查看>>
JS Object的静态方法汇总( 上 )
查看>>
java B2B2C Springcloud多租户电子商城系统-Eureka服务端与客户端常用配置
查看>>
jvm疯狂吞占内存,罪魁祸首是谁?
查看>>
表格存储Tablestore权威指南(持续更新)
查看>>
java B2B2C源码电子商城系统-Kafka快速入门
查看>>
Spring Cloud云服务 - HongHu架构common-service 项目构建过程
查看>>
hadoop中hive原理及安装
查看>>
pear默认安装后一个小bug
查看>>
nginx-通过Nginx统计当前每个域名流量
查看>>
OpenSSL学习(二十五):基础-指令x509
查看>>
sql server随机函数
查看>>
WinAircrackPack 破解你邻居家的无线WIFI密码
查看>>
自定义格式化字符串
查看>>
bgp发布路由对端无法收到,原因是使用默认网段
查看>>
JQuery实现简单的服务器轮询效果
查看>>
幽灵漏洞(GHOST)影响大量Linux操作系统及其发行版(更新修复方案)
查看>>
Sunday算法
查看>>
netstat
查看>>