2016-02-12 82 views
1

我试图从截图自动测试Python中,py.test“HTMLReport”对象有没有属性“执行”

我已经加入到plugin.py添加到我的pytest-HTML报告:

def pytest_runtest_makereport(__multicall__, item): 
    report = __multicall__.execute() 
    extra = getattr(report, 'extra', []) 
    if report.when == 'call': 
     xfail = hasattr(report, 'wasxfail') 
     if (report.skipped and xfail) or (report.failed and not xfail): 
      url = TestSetup.selenium.current_url 
      report.extra.append(extras.url(url)) 
      screenshot = TestSetup.selenium.get_screenshot_as_base64() 
      report.extra.append(extras.image(screenshot, 'Screenshot')) 
      html = TestSetup.selenium.page_source.encode('utf-8') 
      report.extra.append(extra.text(html, 'HTML')) 
      report.extra.append(extra.html(html.div('Additional HTML'))) 
     report.extra = extra 
    return report 

但运行

py.test --html=report.html filename.py 

当我得到

INTERNALERROR> File "C:\Python27\lib\site-packages\pytest_html\plugin.py", line 288, in pytest_runtest_makereport 
INTERNALERROR>  report = __multicall__.execute() 
INTERNALERROR> AttributeError: 'HTMLReport' object has no attribute 'execute' 

它来自哪里?

回答

1

这个问题是由于我在类中添加了pytest_runtest_makereport这个事实造成的。它应该在外面。已关闭

相关问题