请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

AttributeError: '_TestResult' object has no attribute 'outputBuffer'

图片描述

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

正在回答 回答被采纳积分+3

1回答

Mushishi 2020-05-28 20:24:36
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 回复 有任何疑惑可以回复我~
  • 提问者 HelloPython01 #1
    if __name__ == "__main__":
        suite = unittest.TestSuite()
        suite.addTest(QQLogin("test_01"))
        # runner = unittest.TextTestRunner()
        # runner.run(all_case())
        # html报告文件路径
        report_abspath = os.path.join(r'E:\github\Python\Appium\report', "result.html")
        fp = open(report_abspath, "wb")
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'自动化测试报告,测试结果如下:', description=u'用例执行情况:')
        # 调用add_case函数返回值
        runner.run(suite)
        fp.close()
    
    您给的方法 不用HTMLTestRunner运行就不报错,用就报错 
    
    ft1.1: b''Traceback (most recent call last):
      File "E:/github/Python/Appium/case/qq_login_case.py", line 23, in setUp
        print('this is setUp')
      File "E:\Python\lib\HTMLTestRunner.py", line 118, in write
        self.fp.write(s)
    TypeError: a bytes-like object is required, not 'str'
    
    https://blog.csdn.net/legend818/article/details/105414079 这个
    HTMLTestReportCN.py就以这个命名吗?还是python目录就有这个文件呢?我电脑找不到这个文件  只有一个HTMLTestRunnrt.py
    回复 有任何疑惑可以回复我~ 2020-05-29 12:01:57
  • Mushishi 回复 提问者 HelloPython01 #2
    对的,就是HTMLTestRunner 哪个report也是。我给你的代码也是htmlttestrunner了的。你就按照我上面执行就ok。还有你htmltestrunner的因该是python2 换一个python3的
    回复 有任何疑惑可以回复我~ 2020-05-30 13:43:32
  • 提问者 HelloPython01 回复 Mushishi #3
    我在官网下载的HTMLTestRunner是py2的吧  之前是生成不了测试报告 原因在网上查了  也对应的修改了HTMLTestRunnr.py 的语法     
    
    
    另外有个html-testRunner 1.2.1     这个也跟HTMLTestRunnr用法一样吗 ?好像是python2 python3都能用?
    回复 有任何疑惑可以回复我~ 2020-06-01 09:07:13
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号