zoukankan      html  css  js  c++  java
  • 第七章 自动化无人值守运行(上)

    ---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 estSuit estSuit_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查看控制台输出

  • 相关阅读:
    'Undefined symbols for architecture i386,clang: error: linker command failed with exit code 1
    The codesign tool requires there only be one 解决办法
    XCode iOS project only shows “My Mac 64bit” but not simulator or device
    Provisioning profile XXXX can't be found 的解决办法
    UIView 中的控件事件穿透 Passthrough 的实现
    Xcode4.5出现时的OC新语法
    xcode 快捷键(持续更新)
    打越狱包
    php缓存与加速分析与汇总
    浏览器的判断
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6520874.html
Copyright © 2011-2022 走看看