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

Pytest 为每个测试发布测试报告,而不是所有测试只发布 1 个

如何解决Pytest 为每个测试发布测试报告,而不是所有测试只发布 1 个

我有一个 pytest 套件,它使用 Selenium 进行 UI 测试,测试可以按顺序或并行运行。当我按顺序运行测试时,报告会正确发布到 Slack,即在所有测试完成后发布一次;但是,当我并行运行测试时,每次测试完成后都会发布一份报告。以下是我的 conftest.py 的样子:

   @pytest.fixture
   def slack_flag():
     return pytest.config.getoption("-I")

   def pytest_addoption(parser):
     parser.addoption("-I","--slack_flag",dest="slack_flag",default="N",help="Post the test report on slack: Y or N")

   def pytest_terminal_summary(terminalreporter,exitstatus,config):
     if config.getoption("-I").lower() == 'y':
       //slack code logic here...

我也尝试过使用 pytest_sessionfinish(session,exitstatus): 但它也有相同的行为,即它在每次测试完成后发布报告给 slack,而不是在整个测试运行完成后发布一次。上面有什么我遗漏的地方,或者有什么我可以实施的解决方法解决这个问题?

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