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

0
4
Mushishi
回复
HelloPython01
htmltestrunner python3的版本网上又改完的,你可以改一下。我群里也传递了改了的
2020-06-01
共4条回复

Python主讲移动端自动化测试框架Appium

APP自动化基础知识、po模型、关键字模型、服务自动化、持续集成

1508 学习 · 1333 问题

查看课程