在使用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
浙公网安备 33010602011771号