#!/usr/bin/python
# -*- coding:utf-8 -*-
import time
from datetime import datetime
import pytest
from _pytest import terminal
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 会话开始时间
now_time = time.strftime("%Y-%m-%d %H:%M:%S")
duration = time.time() - terminalreporter._sessionstarttime
print('total times: %.2f' % duration, 'seconds')
# 写入result.txt文件中;
with open("C:\\Api_test\\result\\result.txt", "w") as fp:
fp.write("Total: %s;" % total)
fp.write("Passed: %s;" % passed)
fp.write("Failed: %s;" % failed)
fp.write("Errored: %s;" % error)
fp.write("Skiped: %s;" % skipped)
fp.write("Successful_rate: %.2f%%;" % successful)
fp.write("Running_time: %s;" % now_time)
fp.write("Totla_time: %.2f s;" % duration)
Pytest用例集收集测试结果
最新推荐文章于 2023-11-27 16:23:28 发布