【问题标题】:Stop Test suite Execution python selenium停止测试套件执行 python selenium
【发布时间】:2020-12-10 23:14:06
【问题描述】:

鉴于此测试套件:

import unittest

class unittestDex(unittest.TestCase):

    def test_page1(self):
       pass

    def test_page2(self):
       pass

    def test_page3_isCritical(self):
       #I am passing isCritical variable as boolean, this will be received after the test is executed, true/false
       if isCritical == True:
          #stop the whole execution, test_page4 shoudn't run anymore

    def test_page4(self):
       pass

    @staticmethod
    def main():
        suite = unittest.TestSuite()
        suite.addTest(unittestDex(metname='test_page1')
        suite.addTest(unittestDex(metname='test_page2')
        suite.addTest(unittestDex(metname='test_page3')
        suite.addTest(unittestDex(metname='test_page4')
        unittest.TextTestRunner(verbosity=2).run(suite)

if __name__ == "__main__":
main()

如果满足 isCritical 条件,有没有办法以某种方式停止套件运行? 基本上我在问是否有人找到了阻止测试套件运行的方法。

This 解决方案确实不适合我,因为它以某种方式将所有测试合并在一起并作为一个单元运行,我不希望这样:

尝试了pytest.exit('Test suit exited manually') and raise Exception ,但测试并没有停止执行,下一个测试方法立即开始

【问题讨论】:

    标签: python selenium unit-testing


    【解决方案1】:

    您可以使用 pytest -x 在第一次失败后停止测试套件。 可以使用 --maxfail=num 配置值,其中 num 是失败次数

    【讨论】:

    • 所以我认为这是针对 linux 的,比如外部命令之类的?考虑到运行是从 pycharm 完成的,我如何将其集成到 if isCritical == True: pytest -x
    猜你喜欢
    • 2020-04-14
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多