AttributeError: '_TestResult' object has no attribute 'outputBuffer'
来源:3-6 多线程和unittest、HTMLTestRunner结合使用

HelloPython01
2020-05-28
E:\Python\python.exe E:/github/Python/Appium/case/qq_login_case.py
this is setUpClass
<_io.TextIOWrapper name=’’ mode=‘w’ encoding=‘UTF-8’>
Time Elapsed: 0:00:00.001954
EException in thread Thread-3:
Traceback (most recent call last):
File “E:\Python\lib\unittest\suite.py”, line 163, in _handleClassSetUp
setUpClass()
File “E:/github/Python/Appium/case/qq_login_case.py”, line 15, in setUpClass
print(‘this is setUpClass’)
File “E:\Python\lib\HTMLTestRunner.py”, line 118, in write
self.fp.write(s)
TypeError: a bytes-like object is required, not ‘str’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “E:\Python\lib\threading.py”, line 926, in _bootstrap_inner
self.run()
File “E:\Python\lib\threading.py”, line 870, in run
self._target(*self._args, **self._kwargs)
File “E:/github/Python/Appium/case/qq_login_case.py”, line 42, in suite
HTMLTestRunner.HTMLTestRunner(ft).run(suite)
File “E:\Python\lib\HTMLTestRunner.py”, line 628, in run
test(result)
File “E:\Python\lib\unittest\suite.py”, line 84, in call
return self.run(*args, **kwds)
File “E:\Python\lib\unittest\suite.py”, line 114, in run
self._handleClassSetUp(test, result)
File “E:\Python\lib\unittest\suite.py”, line 170, in _handleClassSetUp
self._addClassOrModuleLevelException(result, e, errorName)
File “E:\Python\lib\unittest\suite.py”, line 216, in _addClassOrModuleLevelException
result.addError(error, sys.exc_info())
File “E:\Python\lib\HTMLTestRunner.py”, line 584, in addError
output = self.complete_output()
File “E:\Python\lib\HTMLTestRunner.py”, line 558, in complete_output
return self.outputBuffer.getvalue()
AttributeError: ‘_TestResult’ object has no attribute ‘outputBuffer’
Exception in thread Thread-1:
Traceback (most recent call last):
File “E:\Python\lib\unittest\suite.py”, line 163, in _handleClassSetUp
setUpClass()
File “E:/github/Python/Appium/case/qq_login_case.py”, line 15, in setUpClass
print(‘this is setUpClass’)
File “E:\Python\lib\HTMLTestRunner.py”, line 118, in write
self.fp.write(s)
TypeError: a bytes-like object is required, not ‘str’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “E:\Python\lib\threading.py”, line 926, in _bootstrap_inner
self.run()
File “E:\Python\lib\threading.py”, line 870, in run
self._target(*self._args, **self._kwargs)
File “E:/github/Python/Appium/case/qq_login_case.py”, line 42, in suite
HTMLTestRunner.HTMLTestRunner(ft).run(suite)
File “E:\Python\lib\HTMLTestRunner.py”, line 628, in run
test(result)
File “E:\Python\lib\unittest\suite.py”, line 84, in call
return self.run(*args, **kwds)
File “E:\Python\lib\unittest\suite.py”, line 114, in run
self._handleClassSetUp(test, result)
File “E:\Python\lib\unittest\suite.py”, line 170, in _handleClassSetUp
self._addClassOrModuleLevelException(result, e, errorName)
File “E:\Python\lib\unittest\suite.py”, line 216, in _addClassOrModuleLevelException
result.addError(error, sys.exc_info())
File “E:\Python\lib\HTMLTestRunner.py”, line 584, in addError
output = self.complete_output()
File “E:\Python\lib\HTMLTestRunner.py”, line 558, in complete_output
return self.outputBuffer.getvalue()
AttributeError: ‘_TestResult’ object has no attribute ‘outputBuffer’
Process finished with exit code 0
1回答
-
Mushishi
2020-05-28
if __name__ == "__main__": # runner = unittest.TextTestRunner() # runner.run(all_case()) # html报告文件路径 report_abspath = os.path.join(report_path, "result.html") fp = open(report_abspath, "wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'自动化测试报告,测试结果如下:', description=u'用例执行情况:') # 调用add_case函数返回值 runner.run(all_case()) fp.close()
先这么操作试一试,实在不行再根据网上资料调整。或者你自己根据错误去一步一步调试:
https://blog.csdn.net/legend818/article/details/105414079
042020-06-01
相似问题