python可以作为自动化编程语言,其中,pyunit提供了一套自动化测试框架

1、自动化测试(unittest)要达到的目标

2、unittest 所做的支持

(1)重要概念

(2)具体流程

第一步,testloader 根据传入的参数获得相应的测试用例,即对应具体的测试方法
第二步,makesuite 把所有的测试用例组装成 testsuite(测试用例集合)
第三步,把 testsiute 传给 testrunner(执行器)进行执行
第四步,加载,开始你的测试

备注:加载方式有 2 种,如下
①一种是通过 unittest.main() 来启动单元测试的测试模块:加载自身模块main,提取自身模块测试类中的测试用例,生成 testsuite,再传递给 testrunner 执行测试
②一种是添加到 testsuite 集合中再加载所有的被测试对象:根据传输的参数获取测试用例,生成 testsuite,再传递给 testrunner 执行测试

(3)特点

(4)实例

# coding:utf-8
#基本的自动化测试脚本demo.py
import unittest
class TestMethods(unittest.TestCase): 
    def setUp(self):
        print 'init by setUp...'
    def tearDown(self):
        print 'end by tearDown...'
    #注意:以下方法名所带的数字可以排序,决定执行的先后
    def test_1upper(self):
        self.assertEqual('foo'.upper(), 'FOO')
    def test_2isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Foo'.isupper())
        self.assertTrue('Foo'.isupper())
    def test_3split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
#加载方式1
if __name__ == '__main__':
    unittest.main()
#加载方式2
if __name__ == '__main__':
    # 装载测试用例
    test_cases = unittest.TestLoader().loadTestsFromTestCase(TestMethods)
    # 使用测试套件并打包测试用例
    test_suit = unittest.TestSuite()
    test_suit.addTests(test_cases)
    # 运行测试套件,并返回测试结果
    test_result = unittest.TextTestRunner(verbosity=2).run(test_suit)
    #生成测试报告
    print("testsRun:%s" % test_result.testsRun)
    print("failures:%s" % len(test_result.failures))
    print("errors:%s" % len(test_result.errors))
    print("skipped:%s" % len(test_result.skipped)

3、自动化测试框架优点

①模块化,将一些基础的、共有的步骤代码独立为单独的模块,实现代码复用
②用例的组织架构划分清晰。这样利于查找、维护
③用例执行后能导出结果,进行统计,并显示错误
④用 setUp() 和 tearDown() 实现在用例执行前布置环境,以及在用例执行后清理环境


↙↙↙阅读原文可查看相关链接,并与作者交流