python+selenium+unittest测试框架1-unittest单元测试框架和断言
unittest单元测试框架和断言
一、unittest单元测试框架简介
1、导入unittest模块
import unittest
2、定义测试类
class Login(unittest.TestCase):
3、前置条件
def setUp(self):
u'''没有前置条件可以写pass'''
pass
4、测试case加断言
def test01(self): #测试用例必须以test开头
print("执行测试用例01")
result = '1'
self.assertTrue(result) #断言result是不是True
5、后置条件
def tearDown(self):
u'''没有后置条件可以写pass'''
pass
6、运行主函数
if __name__ == '__main__':
unittest.main()
示例:
#导入unittest模块
import unittest
class Login(unittest.TestCase):
def setUp(self):
u'''没有前置条件可以写pass'''
pass
def test01(self): #测试用例必须以test开头
print("执行测试用例01")
result = '1'
self.assertTrue(result) #断言result是不是True
def tearDown(self):
u'''没有后置条件可以写pass'''
pass
if __name__ == '__main__':
unittest.main()
二、断言
unittest常用的断言方法
1、assertEqual(self, first, second,msg=None)
def test02(self):#判断两个参数是否相等
print("执行测试用例02")
result1 = '1'
result2 = '2'
self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2))
2、assertNotEqual(self, first, second,msg=None)
def test03(self):#判断两个参数是否不相等
print("执行测试用例03")
result1 = '1'
result2 = '2'
self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2))
3、assertIn(self, member, container,msg=None)
def test04(self):#判断一个参数是否包含另一个参数
print("执行测试用例04")
result1 = '1'
result2 = '21'
self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))
4、assertNotIn(self, member,container, msg=None)
def test05(self):#判断一个参数是否不包含另一个参数
print("执行测试用例05")
result1 = '1'
result2 = '2'
self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))
5、assertTrue(self, expr, msg=None)
def test06(self): #测试一个参数是否为真
print("执行测试用例06")
result = ''
self.assertTrue(result,msg="%s不是True"%result)
6、assertFalse(self, expr, msg=None)
def test07(self):#判断一个参数是否不包含另一个参数
print("执行测试用例07")
result = ''
self.assertFalse(result,msg="%s不是False"%(result))
7、assertIsNone(self, obj, msg=None)
def test08(self):#判断一个参数是否不包含另一个参数
print("执行测试用例08")
result = None
self.assertIsNone(result,msg="%s不是None"%(result))
8、assertIsNotNone(self, obj,msg=None)
def test09(self):#判断一个参数是否不包含另一个参数
print("执行测试用例09")
result = '123'
self.assertIsNotNone(result,msg="%s是None"%(result))
示例:
#导入unittest模块
import unittest
class Login(unittest.TestCase):
def setUp(self):
u'''没有前置条件可以写pass'''
print("开始执行")
# pass
def test01(self): #测试用例必须以test开头
print("执行测试用例01")
result = '1'
self.assertTrue(result) #断言result是不是True
def test02(self):#判断两个参数是否相等
print("执行测试用例02")
result1 = '1'
result2 = '1'
self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2))
def test03(self):#判断两个参数是否不相等
print("执行测试用例03")
result1 = '1'
result2 = '2'
self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2))
def test04(self):#判断一个参数是否包含另一个参数
print("执行测试用例04")
result1 = '1'
result2 = '21'
self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))
def test05(self):#判断一个参数是否不包含另一个参数
print("执行测试用例05")
result1 = '1'
result2 = '2'
self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))
def test06(self): #测试一个参数是否为真
print("执行测试用例06")
result = '1'
self.assertTrue(result,msg="%s不是True"%result)
def test07(self):#判断一个参数是否不包含另一个参数
print("执行测试用例07")
result = ''
self.assertFalse(result,msg="%s不是False"%(result))
def test08(self):#判断一个参数是否不包含另一个参数
print("执行测试用例08")
result = None
self.assertIsNone(result,msg="%s不是None"%(result))
def test09(self):#判断一个参数是否不包含另一个参数
print("执行测试用例09")
result = '123'
self.assertIsNotNone(result,msg="%s是None"%(result))
def tearDown(self):
u'''没有后置条件可以写pass'''
print("结束...")
# pass
if __name__ == '__main__':
unittest.main()
PS:unittest的执行顺序,先执行setUp,然后执行测试用例test*(测试用例是按照名称顺序执行),最后执行tearDown。