自动化测试之断言详解(含代码演示)

断言的概念
基于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()

你可能感兴趣的:(自动化测试,unittest,软件测试,selenium)