微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytest-钩子函数统计执行结果

def pytest_terminal_summary(terminalreporter, exitstatus, config):
    '''收集测试结果'''
    # print(terminalreporter.stats)
    total = terminalreporter._numcollected
    passed= len([i for i in terminalreporter.stats.get('passed', []) if i.when != 'teardown'])
    Failed=len([i for i in terminalreporter.stats.get('Failed', []) if i.when != 'teardown'])
    error=len([i for i in terminalreporter.stats.get('error', []) if i.when != 'teardown'])
    skipped=len([i for i in terminalreporter.stats.get('skipped', []) if i.when != 'teardown'])
    successful = len(terminalreporter.stats.get('passed', []))/terminalreporter._numcollected*100
    # terminalreporter._sessionstarttime 会话开始时间
    duration = time.time() - terminalreporter._sessionstarttime
    print('total times: %.2f' % duration, 'seconds')

    result_json = {
  "TOTAL": total,
  "PASSED": passed,
  "Failed": Failed,
  "ERROR": error,
  "SKIPPED": skipped,
  "SUCCESSFUL": "%.2f%%" %successful,
  "TOTAL_TIMES": "%.2fs" %duration
}
    with open("result.json", "w") as fp:
        # fp.write("TOTAL=%s" % total+"\n")
        # fp.write("PASSED=%s" % passed+"\n")
        # fp.write("Failed=%s" % Failed+"\n")
        # fp.write("ERROR=%s" % error+"\n")
        # fp.write("SKIPPED=%s" % skipped+"\n")
        # fp.write("SUCCESSFUL=%.2f%%" % successful+"\n")
        # fp.write("TOTAL_TIMES=%.2fs" % duration)
        json.dump(result_json,fp)
        print("加载入文件完成...")

查看文件下的.json文件内容即可

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐