我们在写自动化测试的时候,得到测试结果之后,现在要开始拿实际结果与期望结果做对比了
那如果是测试1个结果,我们可以用肉眼比对,如果是百十来个用例结果,我们肉眼就看不过来了,所以我们需要断言,而在Pytest中也有断言,而且Pytest的断言使用的是Python自带的,所以使用起来很方便
使用的断言关键字是assert,当然assert直译就是断言,所以很清晰
那我们怎么使用他呢?
语法:assert 表达式
下边有几个常用的断言
判断是否为真 | assert xx |
---|---|
判断不为真 | assert not xx |
判断a是否包含b | assert a in b |
判断a不包含b | assert a not in b |
判断两值相等 | assert a == b |
判断两值不相等 | assert a != b |
好了,又到了我们的实战环节了
1、判断是否为真或为假,我们直接使用True 和 False
代码语言:javascript复制1 def test_01():
2 assert True
3 def test_02():
4 assert not False
我们看一下结果
2、判断是否包含或是否不包含,我们直接使用in 和 not in
代码语言:javascript复制# hello 在 hello world里就断言成功,否则断言失败
def test_01():
assert "hello" in "hello world"
# hi不在hello world 里就断言成功,否则断言失败
def test_02():
assert "hi" not in "hello world"
可以运行看下结果
3、判断是否相等或不相等,我们直接使用==和 !=
代码语言:javascript复制1 def test_01():
2 assert 2 == 1 1 # 后边的1 1是我们的预期结果,2是实际结果,两者如果相等代表断言成功,否则断言失败
3
4 def test_02():
5 assert 3 != 1 1 # 后边的1 1就是我们的预期结果,3是实际结果,两者如果不相等代表断言成功,否则断言失败
上边我们都会断言成功,那断言失败的场景是什么呢?
我们来看下,把上边断言2的改成这个assert 3 == 1 1,我们再来查看结果
从上边可以看到我们预期是2,实际是3,所以断言失败,提示断言错误
断言相等我们一般使用的比较多,在接口自动化中,我们可断言接口返回的成功状态码,在ui自动化中我们可以断言登录成功后的个人信息,或者成功后的提示
总之,上述几种可以结合业务灵活使用,当然断言还有其他的玩法,等我们实际用的时候再做讲解