在使用BSTestRunner时,报告为空,错误提示<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf_8'>

在使用BSTestRunner时,报告为空,错误提示<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf_8'>

print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) 或print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)) 修改为 sys.stderr.write('\nTime Elapsed: %s\n' % (self.stopTime - self.startTime))

 

如下图

 

 

BSTestRunner代码中600行~608

 

 

 

 

代码:

import unittest
import time
import logging
from BSTestRunner import BSTestRunner
import sys

path='D:\Pycharm\kyb_testProject'
sys.path.append(path)

#指定测试用例和测试报告路径
test_dir='../test_case'
report_dir='../reports'

#加载测试用例  --pattern指定控制运行不同模块用例
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_login.py')

#定义报告的文件格式
now=time.strftime("%Y-%m-%d %H_%M_%S")
report_name=report_dir+'/'+now+'test_report.html'

with open(report_name,'wb') as f:
    runner=BSTestRunner(stream=f,title='Kyb Test Report',description='kyb Android app test report')
    logging.info('start run test case...')
    runner.run(discover)

 

转载:https://www.cnblogs.com/zhenyu1/p/12613418.html

posted @ 2021-08-31 17:39  CNF油条  阅读(398)  评论(0)    收藏  举报