第七章 自动化无人值守运行(上)

---Web自动化测试之Webdriver(python)--从零到熟练(系列)

在你根据手工测试用例完善自动化测试用例后,每个测试用例都调试通过了,说明我们已完成了对被测对象的测试用例覆盖。可是在平时的上线回归中,你不可能一个一个地手工执行测试用例的,我们希望的是运行一个命令或是执行一次菜单,测试用例会一个一个地去执行。所以本章开始,我们将讲解如何组织测试用例,以及利用jenkins来自动执行测试用例。

7.1 TestSuite组织测试用例

平时我们编写测试用例的时候,都是继承unittest.TestCases类来编写测试用例的,重写了setUp()tearDown()方法,并且定义以'test'开头的具体方法,来组织成一个个测试用例。而很多的测试用例文件,我们可以用unittest.TextTestRunner()来组织运行测试用例。而根据不同的测试需要,来编写不同的suite文件。

例如:我编写的TestSuite_Online_All.py文件:

# -*- coding: utf-8 -*-

'''

Created on 2014-6-12

 

@author: songxianfeng

'''

import unittest

import sys

import os

sys.path.append("..")

sys.path.append(os.getcwd()+"/src/")

#引用测试用例文件

from TestCases.TestCase_QT_Login import testcases_login

from TestCases.TestCase_QT_Index import testcases_index

class testsuit_online_all():

    def test(self):

        if __name__ == "__main__":

            #1,登录检测: testlogin

            #2,首页检测: testindex

            #......      

            #构造测试集             

            suite = unittest.TestSuite() 

            suite.addTest(testcases_login('testlogin'))

suite.addTest(testcases_index ('testindex'))

            # 运行测试用例集 

            runner = unittest.TextTestRunner() 

            runner.run(suite)  

if __name__ == "__main__":   

    testsuit_online_all().test()

 

先引用测试用例文件中的测试类,如:testcases_index,然后利用“测试类(测试函数)”的方法,将具体的测试函数添加suite中,然后利用unittest.TextTestRunner()run()函数来运行测试用例集中的测试用例。

测试用例的运行

   通过testsuite将需要的测试用例组织起来后,当需要执行这一系列的测试用例的时候,只需要执行python TestSuite_Online_All.py 命令即可。或是右击TestSuite_Online_All.py文件,选择“Run As—>”python run”运行测试集文件即可。

为了方便管理,我们将所有的测试用例集文件放在TestSuites文件夹下,在以后配置Jenkins自动运行Job的时候就可以根据需要,进行不同的配置。

 

7.2 利用Jenkins来管理自动化测试用例

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

1)持续的软件版本发布/测试项目。

2)监控外部调用执行的工作。

   由于其是开源的,所以现在很多公司都用它来管理代码,当然要做到持续集成还是有很多工作要做的,我们只用它来调用我们的自动化测试用例。

Jenkins基本配置

  Jenkins这个开源工具的安装及配置管理,在网上有很多相关的教程,如:http://blog.csdn.net/wangmuming/article/details/22925127

这个上面讲的就很详细,所以我们不在此详细讲述相关的操作。本节我们只讲解,如何把我们的自动化测试用例配置到jenkins上。

   下面我们以一个实例来讲解:

(1)我们编写了测试用例文件以及suite文件,并将所有的文件放到SVNsvn://svn.corp.ncfgroup.com/selenium_test/yyzhongchou下面。

(2)我们在要运行测试用例的服务器上安装并配置好了jenkins,这个配置你可以在网上查找相关的方法自行安装配置。

(3)新建一个job ,命名为Zhongchou-web-test-testsuit,然后打开这个job,单击配置菜单。

(4)给我们这个Job添加描述,允许执行项目的人员“启动安全项目”,如图7.2.1所示:

第七章 <wbr>自动化无人值守运行(上)

7.2.1 添加描述及启动项目安全

(5)对我们测试用例的源码进行管理,根据我们源码管理的工具不同,选择不同的方法。我们放的是SVN,所以选择Subversion项,然后在后面填写我们的SVN地址,如图7.2.2所示:

第七章 <wbr>自动化无人值守运行(上)
7.2.2 源码管理

(6)添加构建命令。当我们执行Job的时候,怎么运行我们的测试用例呢,在这一步中,我们要添加上执行我们测试用例的命令:

python .\src\testSuit\testSuit_zhongchou_all.py,这样运行的时候就会调用testsuite,执行测试集中的所有测试用例了,如图7.2.3所示:

 

第七章 <wbr>自动化无人值守运行(上)

7.2.3 添加构建命令

(7)构建Job。填写完成之后,点击保存按钮,返回job页。当我们想执行测试用例的时候,点击页面左侧的“立即构建”,即可运行测试用例。如图7.2.4所示:

 

第七章 <wbr>自动化无人值守运行(上)

7.2.4 构建Job

(8)查看执行结果。要想查看测试用例执行的结果,我们可以单击左侧的“Build History”下面的构建项目,在打开的页面中单击左侧的“控制台输出”,就能看出用例执行的结果了。这样就可以定位错误,进行调试。如图7.2.5所示:

第七章 <wbr>自动化无人值守运行(上)

7.2.5查看控制台输出

 

posted @ 2015-03-16 17:37  潜龙9527  阅读(233)  评论(0编辑  收藏  举报