Jenkins自动化无人值守运行(上/下)

来源:互联网 发布:刘耀林 知乎 编辑:程序博客网 时间:2024/05/17 01:16

转自:http://blog.sina.com.cn/s/blog_68f262210102vmlv.html

http://blog.sina.com.cn/s/blog_68f262210102vmlx.html


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

7.1TestSuite组织测试用例

平时我们编写测试用例的时候,都是继承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_Loginimporttestcases_login

from TestCases.TestCase_QT_Indeximporttestcases_index

class testsuit_online_all():

   deftest(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将需要的测试用例组织起来后,当需要执行这一系列的测试用例的时候,只需要执行pythonTestSuite_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文件,并将所有的文件放到SVN:svn://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)查看执行结果。要想查看测试用例执行的结果,我们可以单击左侧的“BuildHistory”下面的构建项目,在打开的页面中单击左侧的“控制台输出”,就能看出用例执行的结果了。这样就可以定位错误,进行调试。如图7.2.5所示:

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

图7.2.5查看控制台输出


阅读全文
0 0