【pytest】命令行参数-durations统计用例运行时间

  • 前言:写完一个项目的自动化用例之后,发现有些用例运行较慢,影响整体的用例运行速度,于是领导说找出运行慢的那几个用例优化下。--durations 参数可以统计出每个用例运行的时间,对用例的时间做个排序。

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

    • --durations=N show N slowest setup/test durations (N=0 for all).
    • --durations-min=N Minimal duration in seconds for inclusion in slowest list. Default 0.005
  • 当 --durations=N,N为0 的时候显示全部用例的运行时间

1.02s call     case/demo/test_demo.py::Test_class::test_001
1.01s call     case/demo/test_demo.py::Test_class::test_001
1.01s call     case/demo/test_demo.py::Test_class::test_002
1.01s call     case/demo/test_demo.py::Test_class::test_002
1.00s call     case/demo/test_demo.py::test_003
1.00s call     case/demo/test_demo.py::test_003
0.56s call     case/goods/test_goods_flow.py::test_good_01
0.54s call     case/register/test_register.py::test_register_2
0.44s call     case/register/test_register.py::test_register
0.34s call     case/goods/test_goods_flow.py::test_good_01
0.31s call     case/register/test_register.py::test_register_2
0.26s call     case/login/test_login.py::test_login_case[test_input1-expected1]
0.26s call     case/login/test_login.py::test_login_case[test_input1-expected1]
0.25s call     case/login/test_login.py::test_login_case[test_input3-expected3]
0.25s call     case/login/test_login.py::test_login_case[test_input3-expected3]
0.23s setup    case/register/test_register.py::test_register
0.23s setup    case/register/test_register.py::test_register_2
0.22s setup    case/goods/test_goods_flow.py::test_good_01
0.22s call     case/login/test_login.py::test_login_case[test_input0-expected0]
0.22s call     case/login/test_login.py::test_login_case[test_input0-expected0]
0.21s call     case/register/test_register.py::test_register
0.19s call     case/login/test_login.py::test_login_case[test_input2-expected2]
0.19s call     case/login/test_login.py::test_login_case[test_input2-expected2]

(7 durations < 0.005s hidden.  Use -vv to show these durations.)
  • 用例运行的时候会经历3个阶段:setup,call,teardown。call就是测试用例,setup和teardown就是用例的fixture部分。

  • --durations=3,筛选出运行时间最慢的3条用例

相关文章

目录1、前言2、mark的使用(一)注册自定义标记(二)在测试...
用例执行状态用例执行完成后,每条用例都有自己的状态,常见...
什么是conftest.py可以理解成一个专门存放fixture的配置文件...
前言pytest默认执行用例是根据项目下的文件名称按ascii码去收...
前言:什么是元数据?元数据是关于数据的描述,存储着关于数...