PlayWright(十六)- Pytest断言
我们在写自动化测试的时候,得到测试结果之后,现在要开始拿实际结果与期望结果做对比了
那如果是测试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
1 def test_01(): 2 assert True 3 def test_02(): 4 assert not False
我们看一下结果
2、判断是否包含或是否不包含,我们直接使用in 和 not in
# hello 在 hello world里就断言成功,否则断言失败 def test_01(): assert "hello" in "hello world" # hi不在hello world 里就断言成功,否则断言失败 def test_02(): assert "hi" not in "hello world"
可以运行看下结果
3、判断是否相等或不相等,我们直接使用==和 !=
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自动化中我们可以断言登录成功后的个人信息,或者成功后的提示
总之,上述几种可以结合业务灵活使用,当然断言还有其他的玩法,等我们实际用的时候再做讲解