selenium学习笔记16——unittest断言的使用及遇到
2018-12-13 本文已影响0人
满船清梦压星河ya_
- 在自动化用例中使用断言,当断言失败时,unittest在测试报告中会标记为失败(Fail)。
- 当元素定位失败时,测试报告中会标记为错误(Error)
Python3+unittest 中使用断言有两种选择
- 使用Python的断言 Assert
- 使用unittest的断言(TestCase类的断言)
Python的断言 Assert
url_exp = "https://www.baidu.com"
assert url_exp == "http://www.baidu.com", "自动化测试失败,url和预期不一致!"

unittest的断言
url_exp = "https://www.baidu.com"
self.assertEqual(url_exp, "http://www.baidu.com", msg="自动化测试失败,url和预期不一致")

可以看出,测试报告中:
- Python自身的断言中的变量只显示了变量名,没有显示变量对应的值。
- unittest的断言显示出了变量对应的值,更易于查看测试结果。
所以,建议使用unittest的断言进行自动化测试。
断言失败,用例继续执行
当一个.py文件中有3个testcase,分别为:
- testcase01
- testcase02
- testcase03
断言失败,不会影响其他testcase的执行。自动化用例会继续执行,不会停止执行。
unittest常用断言
序号 | 方法 | 解释 |
---|---|---|
1 | assertEqual(a, b) | 判断ab是否相等 |
2 | assertNotEqual(a, b) | 判断ab不相等 |
3 | assertIs(a, b) | 判断a是b |
4 | assertIsNot(a, b) | 判断a不是b |
5 | assertIsNone(a) | 判断a是不是None |
6 | assertIsNotNone(a) | 判断a不是None |
7 | assertIn(a,b) | 判断a在b中,此时a与b可以相等 |
8 | assertNotIn(a, b) | 判断a不在b中 |
9 | assertIsInstance(a, b) | 判断a是否属于b的实例 |
10 | assertNotIsInstance(a, b) | 判断a不属于b的实例 |
11 | assertGreater(a, b) | 判断a > b |
12 | assertGreaterEqual(a, b) | 判断a >= b |
13 | assertLess(a, b) | 判断a < b |
14 | assertLessEqual(a, b) | 判断a <= b |