zoukankan      html  css  js  c++  java
  • 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架

    基于python+Testlink+Jenkins实现的接口自动化测试框架

     

    by:授客 QQ1033553122

     

      博客:http://blog.sina.com.cn/ishouke

    欢迎加入软件性能测试交流QQ群:7156436

     

     

     

    目录

    1      开发环境... 1

    2      主要功能逻辑介绍... 1

    3      框架功能简介... 3

    4      框架模块详细介绍... 3

    5      Testlink相关的配置与用例管理... 10

    6      运行结果... 13

    7      源码下载... 14

    8      说明... 14

     

    1、  开发环境

    win7

    PyCharm 4.0.5

    python 3.3.2

     

    testlink-1.9.14

    下载地址http://pan.baidu.com/s/1c16H50O

    安装教程:http://blog.sina.com.cn/s/blog_13cc013b50102w9am.html

     

    TestLink-API-Python-client-master

    下载地址http://pan.baidu.com/s/1pLrcunT

     

    2、  主要功能逻辑介绍

     

     

     

    3、  框架功能简介

    1、框架集成了Testlink,可使用Testlink灵活对测试项目,测试计划,测试用例进行管理

     

    2可通过配置文件灵活配置运行模式,支持按测试项目、测试计划、测试套件批量运行执行用例

     

    3、支持HTTPSHTTPWebService协议,支持POST, GET方法,支持JSON,非JSON数据格式的请求,支持多种形式的数据校验

     

    4、可自动生成HTML可视化接口测试报告

     

    5、可根据配置在测试完成后,自动发送测试报告邮件

     

    6、支持文件、控制的日志打印,可分别控制开关

     

    7、支持模块化开发

     

    8、可集成Jenkins自动运行脚本

    参考文章:Jenkins添加Windows Slave远程执行python项目脚本

     

     

    4、  框架模块详细介绍

    a)   config



     

    dbconfig.conf包含测试数据库,应用数据库的配置信息

     

    logconfig.conf包含日志配置信息,具体如下:

     



     

    mail.conf包含邮件发送配置信息,如下,

     



    注:不同类型的邮箱(发件人邮箱),需要修改配置文件为对应的host和端口

    smtp.163.com:25

    smtp.qq.com:465

     

    report.conf包含测试报告文件配置信息,如下

     



     

    runmodeconfig.conf包含运行模式配置信息

     



     

    runmodeconfig.py日志配置类

     

    b)   globalpkg

     



    log.py实现日志打印类

     

    mydb.py实现数据库类,封装数据库相关操作

     

    mytestlink.py主要用于获取testlink连接实例

     

    othertools.py实现其它通用功能,比如数据转换,批量创建目录等

     

    globalpy.py主要提供全局变量,全局实例等

     



     

    c)   logstestreport

    可分别用于存放日志文件,测试报告

     

    d)   interface

    封装接口测试方法类

     



     

    说明:可根据需要,每个接口对应一个模块,对应一个类;也可以多个接口对应一个模块,对应一个类

    需要注意的是,这里添加的模块及类,需要在casestep.py中导入

     

    目前框架中的模块给出了一些案例,如下:

     



     

    对应用例配置:

     



    接口自动化 <wbr>基于python+Testlink+Jenkins实现的接口自动化测试框架

     

     

    更多案例烦自行查阅模块

     

    e)   其它模块

    如下,顾名思义

     

     



     

    5、  Testlink必要的配置与用例管理

     

    为了批量设置接口ip,端口(主要是这两个),协议信息(仅用于展示),需要对项目,计划,套件等必要的配置,以及客户端环境变量配置

    a)   配置

    如下,登陆Testlink,进入用户管理-查看用户,如下



     

       点击目标用户(例中为admin),打开如下界面

       接口自动化 <wbr>基于python+Testlink+Jenkins实现的接口自动化测试框架

      



        点击生成新的密钥,如下



    在运行python脚本端进行环境变量的配置,如下:

    1、新建系统环境变量“TESTLINK_API_PYTHON_DEVKEY”,变量值为上述秘钥

     



     

    2、新建“TESTLINK_API_PYTHON_SERVER_URL”系统环境变量,变量值为

    http://{host}/testlink/lib/api/xmlrpc/v1/xmlrpc.php”,其中hosttestlink的访问地址

     



    测试是否生效:

    C:Userslaiyu>python

    Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32

    tel)] on win32

    Type "help", "copyright", "credits" or "license" for more information.

    >>> import testlink

    >>> tls = testlink.TestLinkHelper().connect(testlink.TestlinkAPIClient)

    >>> tls.testLinkVersion()

    '1.9.14'

     

          项目,计划,套件等相关配置
         






    b)   用例管理










     

    6、  运行结果

    见源码附件

     

    7、  源码下载

    下载地址:http://pan.baidu.com/s/1c2Av9FM

     

    下载后解压,用pycharm导入项目即可

     

    8、  说明

    时间有限,精力有限,暂且就到这吧,有需要的可以自己扩展、修改框架。

    注:目前还存在个bug,测试报告中,类似xml格式数据没显示出来,有兴趣的烦先自己解决下。

  • 相关阅读:
    bzoj 1858 线段树
    bzoj 1877 最小费用流
    bzoj 1833 数位dp
    Codeforces Round #285 (Div. 1) B
    HDU2028 Lowest Common Multiple Plus
    HDU5706 GirlCat
    HDU2022 海选女主角
    687E: TOF
    687D: Dividing Kingdom II
    687D: Dividing Kingdom II
  • 原文地址:https://www.cnblogs.com/shouke/p/10157784.html
Copyright © 2011-2022 走看看