Pytest报告添加描述时报错

  • AttributeError: 'TestReport' object has no attribute 'description'

AttributeError: ‘TestReport’ object has no attribute ‘description’

在conftest文件增加报告描述,如下:

@pytest.mark.optionalhook
def pytest_html_results_table_header(cells):cells.insert(2, html.th('Description'))cells.insert(1, html.th('Time', class_='sortable time', col='time'))cells.pop()@pytest.mark.optionalhook
def pytest_html_results_table_row(report, cells):cells.insert(2, html.td(report.description))cells.insert(1, html.td(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), class_='col-time'))cells.pop()

但是运行后会报错误,AttributeError: ‘TestReport’ object has no attribute ‘description’:

Traceback (most recent call last):File "C:/Users/Administrator/Desktop/jiekou/testcase/test_login.py", line 24, in <module>pytest.main(['-v', '-s',"-W", "ignore:Module already imported:pytest.PytestWarning", '--html=report/report.html','--self-contained-html'])File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\_pytest\config\__init__.py", line 164, in mainret = config.hook.pytest_cmdline_main(File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\hooks.py", line 286, in __call__return self._hookexec(self, self.get_hookimpls(), kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 93, in _hookexecreturn self._inner_hookexec(hook, methods, kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 84, in <lambda>self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 208, in _multicallreturn outcome.get_result()File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 80, in get_resultraise ex[1].with_traceback(ex[2])File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 187, in _multicallres = hook_impl.function(*args)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\_pytest\main.py", line 306, in pytest_cmdline_mainreturn wrap_session(config, _main)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\_pytest\main.py", line 294, in wrap_sessionconfig.hook.pytest_sessionfinish(File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\hooks.py", line 286, in __call__return self._hookexec(self, self.get_hookimpls(), kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 93, in _hookexecreturn self._inner_hookexec(hook, methods, kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 84, in <lambda>self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 203, in _multicallgen.send(outcome)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\_pytest\terminal.py", line 794, in pytest_sessionfinishoutcome.get_result()File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 80, in get_resultraise ex[1].with_traceback(ex[2])File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 187, in _multicallres = hook_impl.function(*args)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pytest_html\plugin.py", line 746, in pytest_sessionfinishself._post_process_reports()File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pytest_html\plugin.py", line 728, in _post_process_reportsself.append_passed(test_report)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pytest_html\plugin.py", line 444, in append_passedself._appendrow("Passed", report)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pytest_html\plugin.py", line 425, in _appendrowresult = self.TestResult(outcome, report, self.logfile, self.config)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pytest_html\plugin.py", line 191, in __init__self.config.hook.pytest_html_results_table_row(report=report, cells=cells)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\hooks.py", line 286, in __call__return self._hookexec(self, self.get_hookimpls(), kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 93, in _hookexecreturn self._inner_hookexec(hook, methods, kwargs)File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\manager.py", line 84, in <lambda>self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 208, in _multicallreturn outcome.get_result()File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 80, in get_resultraise ex[1].with_traceback(ex[2])File "C:\Users\Administrator\Desktop\jiekou\venv\lib\site-packages\pluggy\callers.py", line 187, in _multicallres = hook_impl.function(*args)File "C:\Users\Administrator\Desktop\jiekou\conftest.py", line 39, in pytest_html_results_table_rowcells.insert(2, html.td(report.description))
AttributeError: 'TestReport' object has no attribute 'description'

此时我们只需要在conftest文件下加如下钩子函数就可以完美解决:

@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):outcome = yieldreport = outcome.get_result()report.description = str(item.function.__doc__)report.nodeid = report.nodeid.encode("utf-8").decode("unicode_escape")  # 设置编码显示中文

Pytest报告添加描述时报错:AttributeError: ‘TestReport‘ object has no attribute ‘description‘相关推荐

  1. python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo

    Q:python使用Axes3D画三维图加入legend图例时报错AttributeError: 'Poly3DCollection' object has no attribute '_edgeco ...

  2. Scrapy爬虫报错AttributeError: ‘NoneType‘ object has no attribute ‘write‘

    前言 一.报错 AttributeError: 'NoneType' object has no attribute 'write' 二.报错原因 1.piplines文件中的方法不能自定义的呢 开始 ...

  3. 关于在《python编程从入门到实践》书中练习“外星人大战”报错“AttributeError: ‘AlienInvasion‘ object has no attribute ‘blit‘”

    关于在<python编程从入门到实践>书中练习"外星人大战"报错"AttributeError: 'AlienInvasion' object has no ...

  4. 爬虫的自创建请求对象:报错AttributeError: 'str' object has no attribute 'items'

    在使用爬虫库创建自定义请求对象时 将值传入headers agent = random.choice(userAgent) REQ = request.Request(url,headers=agen ...

  5. 运行项目时flask_sqlalchemy报错AttributeError: ‘LocalStack‘ object has no attribute ‘__ident_func__‘

    运行项目时flask_sqlalchemy报错AttributeError: 'LocalStack' object has no attribute '__ident_func__' 1.原因 2. ...

  6. 报错AttributeError: ‘NoneType‘ object has no attribute ‘shape‘

    环境: python3.6.4 opencv3.4.1.15 运行目标跟踪object_tracking文件夹中的mean函数时报错且不显示视频结果 Traceback (most recent ca ...

  7. python3 多进程 multiprocessing 报错 AttributeError: ‘ForkAwareLocal‘ object has no attribute ‘connection‘

    目录 错误代码 报错信息 错误原因 解决方法 错误代码 python多进程管理manager时候,当不使用join对当前进程(主进程)进行阻塞时会报错,具体代码及错误如下: from multipro ...

  8. python的mysql数据查询及报错AttributeError: 'Connection' object has no attribute 'curson'

    import pymysql #创建连接 con = pymysql.connect(host='localhost',user='root',password='123456',port=3306, ...

  9. Python之报错AttributeError:'CocaCola' object has no attribute 'local_logo'

    试运行class类的代码如下,然而有报错信息:AttributeError:'CocaCola' object has no attribute 'local_logo' class CocaCola ...

  10. python 执行报错AttributeError: 'list' object has no attribute 'g'

    ^ SyntaxError: invalid syntax E:\数学-机器学习-西瓜书-周志华\UDACITY购课\project1 矩阵操作>python test.py Traceback ...

最新文章

  1. 目标检测 | 清晰易懂的SSD算法原理综述
  2. 【CentOS】设置服务开机自动启动
  3. linux memcached php 整合
  4. Python基础:一起来面向对象 (二) 之搜索引擎
  5. boost::icl::split_interval_set用法的测试程序
  6. html5水调歌头代码,张惠言的五首《水调歌头》
  7. Sparklyr与Docker的推荐系统实战
  8. ios Undefined symbols for architecture arm64
  9. 解决办法:对lzma_stream_decoder/lzma_code/lzma_end未定义的引用
  10. Maven下载及安装教程
  11. InTouch 如何备份驱动的通信配置
  12. Android屏幕尺寸详解
  13. Cloakroom BZOJ2794 POI2012(背包问题)
  14. 从期刊层面看科研!计算机顶级期刊大盘点(上)
  15. java手机充值_话费充值示例代码
  16. 医学计算机论文,医学图像数据库-外文翻译(计算机论文,医学论文适合)
  17. 【LittleXi】sql学习笔记
  18. Cool Edit Pro
  19. 雅思托福100G视频教程及资料
  20. 区块链100讲:Hyperledger Cello简介

热门文章

  1. 新视野大学英语(第三版)读写教程1答案(Units1-6)
  2. BigGAN论文翻译与理解
  3. GetData Graph Digitizer软件的使用方法
  4. PLC指令系统的介绍
  5. ppt演讲计时器_靠这招,我成了领导眼中的PPT演讲高手!
  6. 定时器之多层级时间轮
  7. Structure from Motion Using OpenCV
  8. 实验室信息化建设助力医药研发
  9. HITACHI日立印刷机电源维修W-PSX175
  10. LMC555定时器延时测试