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

【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条用例

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

相关推荐