码迷,mamicode.com
首页 > 编程语言 > 详细

搭建python自动化用例框架--问题

时间:2018-06-14 20:43:08      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:over   split   文件   att   时间   else   ftime   style   load   

根据https://blog.csdn.net/huilan_same/article/details/76572411搭建python自动化框架过程所遇问题:

 

一、缺少测试套:测试套编码如下,会运行E:\Software\sichuantest\test\case目录下所有与test_*.py匹配的用例

import unittest
from utils.HTMLTestRunner import HTMLTestRunner
import time

#注意使用套件时,在单个py文件中下的多个用例用  (类名("方法名")),
#导入多个py的类下,用(py名.类名)

allcase = E:\\Software\\sichuantest\\test\\case     #指明要自动查找的py文件所在文件夹路径
def createSuite():
    testunit = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(allcase,                 #查找的文件夹路径
    pattern = test_*.py,                                                  #要测试的模块名,以start开头的.py文件
    top_level_dir = None)                                                   #测试模块的顶层目录,即测试用例不是放在多级目录下,设置为none

    # 使用for循环出suite,再循环出case
    for suite in discover:
        for case in suite:
            testunit.addTests(case)
            print(testunit)
    return testunit

if __name__ == __main__:
    now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))   #获取当前时间
    report = E:\\Software\\sichuantest\\report\\+now+"test_suit.html"        #根据当前时间来拼接.xml报告文件名
    with open(report, wb) as f:
        runner = HTMLTestRunner(f, verbosity=2, title=html报告test, description=html报告内容)
        runner.run(createSuite())

 

二、不同用例生成的report.xml会被覆盖,将生成.xml的代码修改如下

if __name__ == __main__:
    file_name = os.path.split(__file__)[-1].split(.)[0]        #获取用例文件名
    report = REPORT_PATH + \\ + file_name + _report.html#根据文件名来拼接.xml报告文件名
    with open(report, wb) as f:
        runner = HTMLTestRunner(f, verbosity=2, title=html报告test, description=html报告内容)
        runner.run(TestBaiDu(test_search))

 

三、单个用例日志名统一为test.log,会导致所有用例的日志均打在test.log里面

1、通过将用例文件名也拼接到日志中的方式区分

 在log.py文件中修改pattern的值,修改如下

pattern = c.get(pattern) if c and c.get(pattern) else %(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s

在config.yml文件中修改log的值,修改如下

log:
    file_name: test.log
    backup: 5
    console_level: WARNING
    file_level: DEBUG
    pattern: %(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s

 

2、通过用例名拼接日志名的方式区分

暂时不会,哈哈哈哈哈哈

搭建python自动化用例框架--问题

标签:over   split   文件   att   时间   else   ftime   style   load   

原文地址:https://www.cnblogs.com/ziyuyuyu/p/9184192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!