开篇语
拥有一个每天逼着自己学习的女朋友是多么快乐的一件事情!
今天的你的简书更新了吗?你的公众号更新了吗?
没有,没有。
好吧!你明天的零花钱减半吧!
我!那个,这个,我马上去写......
生活中怎么能缺少一位这样的女朋友呢!
自动化测试之断言小节
断言是什么?
断言是对测试过程中实际结果的一种断定。
举个栗子:
1 + 1 = 2
预期结果: 1 + 1 = 2
实际结果:2
这个时候断言内容设定为 预期结果2 等于 实际结果2
断言通过代表什么?失败又代表什么?
断言通过代表:实际结果与预期结果一致,代表测试用例通过
断言失败代表:实际结果与预期结果不一致,这个时候能直接说明测试用例失败吗?
断言失败一定代表测试用例执行失败,失败等于发现bug吗?
当断言失败的时候,作为测试人员第一时间考虑到的是否是自身测试代码导致的断言失败。
原因一:
因为自动化测试过程中存在很多不稳定因素,做过web自动化测试的朋友都知道,不可预期的弹出框,网络延迟都可能导致,本来能执行通过的测试用在运行过程中出现失败的情景。
原因二:
自身测试代码逻辑上的问题,每个人的编码水平都不一样,特别是初期的自动化测试开发人员,代码水平低,自己经常写一些bug,导致很多乌龙事件,我自己也干过这样的事。开发很生气哦。
还有很多原因,这里就不再举例了。
如何排查、定位bug?
1、通过测试代码运行过程中生成的日志信息
2、假设a、b同一个项目,相同的测试代码,两个版本都有相同的功能,在a版本无bug,在b版本存在bug。那么这个bug就是一个bug。
3、针对具体问题可以分析api后端日志信息。
为什么在测试过程中要查看API后端日志?
自动化测试虽然是点击的是UI控件,
但是最终app与服务器进行的所有交互走的还是相关的API接口,
API后端每个接口都会保留用户访问信息,根据API后端日志是最快定位bug的方法之一
pytest 断言示例
import pytest
def test_1():
a = 1
b = 1
c = a + b
# 预期结果是c == 1 实际结果是 c == 2
# 断言
assert c == 1
# 很明显实际结果不等于预期结果,这个用例一定会失败。
如何运行pytest测试用例
在命令行中,先进入项目目录,找到相关的测试脚本名字
例如:
项目目录 MyPython
MyPython
|
|---- test_1.py
先 cd MyPython, 再 pytest test_1.py
小节后语
今天先写到这里,简单的对自动化测试用例的断言有个大致的了解,明天聊以下如何生成上篇文章中提到的allur测试报告
感兴趣的朋友可以加一下我的公众号,欢迎留言