摘要: 一、脚本中设置超时退出 由于某些测试用例步骤长,执行时间比较久,为了防止程序长时间处于等待状态,浪费宝贵时间。为此,我们可以设置一个超时时间,当测试在指定的时间长度内没有完成(即使程序并没有“僵死”,只是处理得比较慢),测试会被强行终止。再此,需要安装一个插件pytest-timeout。如下: p 阅读全文
posted @ 2021-09-29 17:33 xyztank 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 当某个bug,修复优先级比较低,暂时不用修复。此时,改自动化用例运行时,肯定会报错,那么我们就可以用 @pytest.mark.xfail来标记,用例执行的结果会被标记为xfailed,而不是failed。 #test_xfail.py import pytest class TestMyCode: 阅读全文
posted @ 2021-09-29 17:12 xyztank 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 一、直接忽略 由于某些原因,系统存在bug,但该bug修复级别比较低。或者由于需求变更,导致原有的脚本无法成功执行,所以需要跳过用例。而pytest提供了@pytest.mark.skip方法,但是我们推荐@pytest.mark.skip(reason="XXX"),因为它标注了跳过的具体原因,用 阅读全文
posted @ 2021-09-29 16:52 xyztank 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 一、使用场景 自定义标签,可以标记测试用例,对测试用例进行分组,有利用对测试用例进行筛选。打标的方法@pytest.mark.XXX。比如:给用例打标为API,代表接口自动化的用例,如下所示: @pytest.mark.API 打标后,需要在pytest.ini文件中进行注册,否则会报warning 阅读全文
posted @ 2021-09-29 16:30 xyztank 阅读(567) 评论(0) 推荐(0) 编辑
摘要: PyTest有一个特别的设计,叫作测试用例自动发现(Test Discovery)机制,允许我们不指定具体的测试用例源文件,而是根据一些命名规则去自动发现测试用例源文件,以及在源文件中筛选待执行的测试函数。默认情况下,测试发现机制是按如下规则执行: 测试用例文件名以test_*.py开头(以_tes 阅读全文
posted @ 2021-09-29 16:21 xyztank 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-09-29 16:02 xyztank 阅读(21) 评论(0) 推荐(0) 编辑