python+selenium+unittest测试框架1-unittest单元测试框架和断言

Posted 旭旭杂货店

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

以上是关于python+selenium+unittest测试框架1-unittest单元测试框架和断言的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium+unittest测试框架1-unittest单元测试框架和断言

Python+Selenium ----unittest单元测试框架

python+selenium+unittest

selenium + python自动化测试unittest框架学习selenium原理及应用

python+selenium+unittest有用文章

python+selenium+unittest测试框架4-邮件发送最新测试报告