断言的概念
基于selenium+python的自动化测试,断言assert(unittest 框架的 TestCase 类提供)。断言执行失败则会抛出一个异常,此时没有达到我们预期结果,那么我们测试用例就是失败的,我们断言是要我们到达我们的期望值的。说白了,断言就是比较我们的期望结果与实际结果。相等则测试用例通过。
try:
assertIn("百度一下" ,driver.title)
print("test pass")
except Exception as e:
print("test fail")
各个断言介绍
assertEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等。
assertNotEqual(a,b,[msg=‘测试失败时打印的信息’]): 断言a和b是否相等,不相等则测试用例通过。
assertTrue(x,[msg=‘测试失败时打印的信息’]): 断言x是否True,是True则测试用例通过。
assertFalse(x,[msg=‘测试失败时打印的信息’]): 断言x是否False,是False则测试用例通过。
assertIs(a,b,[msg=‘测试失败时打印的信息’]): 断言a是否是b,是则测试用例通过。
assertNotIs(a,b,[msg=‘测试失败时打印的信息’]): 断言a是否是b,不是则测试用例通过。
assertIsNone(x,[msg=‘测试失败时打印的信息’]): 断言x是否None,是None则测试用例通过。
assertIsNotNone(x,[msg=‘测试失败时打印的信息’]): 断言x是否None,不是None则测试用例通过。
assertIn(a,b,[msg=‘测试失败时打印的信息’]): 断言a是否在b中,在b中则测试用例通过。
assertNotIn(a,b,[msg=‘测试失败时打印的信息’]): 断言a是否在b中,不在b中则测试用例通过。
assertIsInstance(a,b,[msg=‘测试失败时打印的信息’]): 断言a是是b的一个实例,是则测试用例通过。
assertNotIsInstance(a,b,[msg=‘测试失败时打印的信息’]): 断言a是是b的一个实例,不是则测试用例通过。
一个简单的单元测试中断言的应用
#coding=utf-8
import unittest
class Test(unittest.TestCase):
def setUp(self):
pass
def test_case(self):
self.a = "hello"
self.b = "hello world"
self.assertIn(self.a,self.b,msg="a is not in b")
def tearDown(self):
pass
if __name__ == "__main__":
unittest.main()