2017-06-01 17 views
2

私はテストケースのレポート生成のためにpytest-htmlプラグインを使用しています。スクリプトが失敗した場合は、広告申込情報を追加します。だから私のコードは---Pytest-htmlカスタマイズ

import pytest 

@pytest.mark.hookwrapper 
def pytest_runtest_makereport(item, call): 
    pytest_html = item.config.pluginmanager.getplugin('html') 
    outcome = yield 
    report = outcome.get_result() 
    extra = getattr(report, 'extra', []) 
    if report.when == 'call': 
     # always add url to report 
     extra.append(pytest_html.extras.url('http://www.example.com/')) 
     xfail = hasattr(report, 'wasxfail') 
     if (report.skipped and xfail) or (report.failed and not xfail): 
      # only add additional html on failure 
      extra.append(pytest_html.extras.html('<div>Additional HTML</div>')) 
     report.extra = extra 

def test_sayHello(): 

     assert False, "I mean for this to fail" 
     print "hello" 


def test_sayBye(): 
     print "Bye" 


I am running the scipt using - 
pytest --html=report.html 

私はレポートを生成することができますが、それは追加のHTMLとしてラインアイテムを持っていないことがわかります。

また、私のスクリプトの間にそのような広告申込情報をレポートに追加する方法もあります。

本当に助けていただければ幸いです。

答えて

0

これは動作するはずです:

@pytest.mark.hookwrapper 
def pytest_runtest_makereport(item, call): 
    pytest_html = item.config.pluginmanager.getplugin('html') 
    outcome = yield 
    report = outcome.get_result() 
    extra = getattr(report, 'extra', []) 
    if report.when == 'call': 
     extra.append(pytest_html.extras.html('<p>some html</p>')) 
     report.extra = extra 
関連する問題