Pytest(十三)durations统计用例运行时间

2022-04-06 08:38:01 浏览数 (1)

系列分享

Pytest系列(一)初次了解

Pytest(二)执行规则以及编写执行多条用例

Pytest(三)Pytest执行命令

Pytest(四)Pytest断言

Pytest(五)标记函数

Pytest(六)跳过测试

Pytest(七) pytest之参数化

Pytest(八) pytest Fixture(一)

Pytest(九) pytest Fixture(二)

Pytest(十) pytest Fixture(三)

Pytest(十一) pytest ini文件

Pytest(十二) Pytest产生测试报告


写完一个项目的自动化用例之后,发现有些用例运行较慢,影响整体的用例运行速度,我们需要排除一下问题,那么应该如何去做呢

--durations 参数可以统计出每个用例运行的时间,对用例的时间做个排序。

代码语言:javascript复制
--durations=N

pytest -h 查看命令行参数,关于 --durations=N 参数的使用方式

当 N=0 的时候显示全部用例的运行时间

我们去实现几个测试用例

代码语言:javascript复制
import time


def test_01():
    print("test_01")
    time.sleep(1.0)


def test_two():
    print("test_two")
    time.sleep(10)


def test_regin():
    print("用例test_regin")
    time.sleep(1.5)


def test_login():
    print("用例login")
    time.sleep(0.1)


def test_05():
    print("用例5")
    time.sleep(2.3)

我们执行下

代码语言:javascript复制
pytest  teston1.py --durations=0

看结果

结果已经给我们展示出来了每个用例的执行耗时。

我们只想要关注其中最慢的三个,那么可以限制成3

代码语言:javascript复制
--durations=3

执行下

这三条用例执行的速度比较慢,需要对这三条用例进行优化,达到目的。

uml

0 人点赞