Api_God详解

作者: 古佛青灯度流年 | 来源:发表于2016-09-27 17:01 被阅读46次

    God

    包含Ui Auto Test 、Api Auto Test

    • Ui Auto Test : python /selenium /unitest
    • Api Auto Test: python /urllib2 /requests /unitest

    将两个内容融合到一起了,不知道应该叫啥名字,故取名为:God

    1.入口

    • Run.py

    1.1 命令行运行参数:

    python Run.py
    

    1.2 通过命令行查看可传入参数:

    python Run.py -h
    

    1.3 参数详细介绍

    • 默认参数说明

       -l: log        default    : warning      # 定义控制台默认输出日志级别
       -b: brower     default    : phantomjs        # 定义Ui测试默认使用的浏览器
       -m: Main       default    : ui               # 定义默认执行Ui自动化测试脚本
       -r: report     default    : true         # 定义默认生成测试报告
       -d: del_report default    : false            # 定义默认不删除本地生成的测试报告
       -u: backup     default    : false            # 定义本地代码默认不备份
       -e: email      default    : misc         # 定义邮件发送机制为:Misc
       -s: send_email default    : Null         # 定义发送给指定接收邮件人:Null
       -t: url_target default    : wanpinghui.com    # 定义测试脚本的主域名是:www.wanpinghui.com
      

    • 可选参数说明

      -l  [ info   || debug  || error    || warning]
      

      日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,例如:当前日志输出级别为:infodebugnotset级别的日志就不会输出

      -b  [ chrome || firfox || phantomjs]
      

      目前内置3种浏览器driver配置,可根据环境主动选择

      -m  [ ui     || api    || excel    ]
      

      设置当前执行的测试脚本:ui:代表执行UItest脚本;api:代表执行api测试脚本;excel:代表通过excel表格传入接口需要参数

      -r  [ true   || false  ]
      

      设置是否生成测试报告

      -d  [ true   || false  ]
      

      设置是否删除测试报告

      -u  [ true   || false  ]
      

      设置是否备份当前代码

      -e  [ true   || false  || misc     ]
      

      设置发送Email的三种机制:

      • true:一定发送邮件,即只要执行脚本就会发送邮件;此时支持指定发送给某人邮件

      • false:一定不发送邮件,即任何情况下,系统都不会执行发送邮件操作

      • misc:混合形式,即:

        1.测试脚本运行fail OR error 的时候发送邮件

        2.命令行指定给某人发送邮件python Run.py -s AAA@163.com,此时发送邮件

        3.脚本执行次数 times= 20 时,发送邮件;(20次一循环)

      -s [ email_path ]
      

      设置邮件发送个特定的人,其中email_path需要提前配置在Email库中才可以成为参数

      -t  [ url_target  ]
      

      设置脚本执行环境,其中url_target支持:线上环境、线下环境

    2.路径结构

    根目录中分为4个文件夹和Run.py

    • Misc: 存放一些开发过程中的重要记录,以及会用到的一些第三方库类的信息
    • Output:存放框架运行的过程中所有产出
    • Setup:存放Linux自动配置的shell脚本
    • Src:主要的代码源,存放全部的生产代码

    3. Output文件夹

    包含:GlobalLogSendReportTestReportTestdirScreenShot

    !* 这些产出文件夹不入库

    • Global:存放的一些全局需要引用的参数,目前已txt的形式存放内容,每次运行脚本都会更新数据,起到一个中间存储器的功能
    • Log:存放系统产生的Log日志,记录日志级别为:Debug
    • SendReport:存放最新生成的测试报告
    • TestReport:存放所有生成的测试报告
    • Testdir:存放需要执行的用例脚本
    • ScreenShot:存放Ui测试脚本中的截图

    4. Src源码文件夹

    包含:ConfFunctionLibPlayTestCasePublicMain.py

    4.1 Conf文件夹

    配置文件夹,存放框架中全部可配置参数,其中:

    • ApiCaseSummary.ini:配置Api全部用例
    • Config.ini:框架主要配置文件,全部路径、全部域名
    • InitParameter.ini:框架初始化配置文件,可配置本地开发环境和线上开发环境
    • UiCaseSummary.ini:配置Ui全部用例

    4.2 Function文件夹

    框架方法文件夹,存放全部方法文件

    • model
    • api_paa_rate.py (7个表操作文件)
    • 。。。
    • Base.py(表操作超类)
    • Chart.py(生成曲线图数据处理工具)
    • ApiMethod.py
    • Email.py
    • GlobalVariable.py
    • LogMainClass.py
    • Misc.py
    • ReadConfig.py
    • ReadExcel.py
    • Report.py
    • UiMethods.py
    • Xvfb.py

    4.3 Lib文件夹

    框架用到的第三方工具存放路径

    4.4 TestCase文件夹

    存放全部用例,包含Ui测试用例、Api测试用例

    5. PublicMain.py

    最主要的框架运转中心,内部代码运转流程如下:

    • 开始测试=》
    • 准备基础数据=》
    • 创建所有路径=》
    • 组织可执行用例=》
    • 执行测试脚本=》
    • 生成测试报告=》
    • 发送测试报告=》
    • 处理产出数据=》
    • 完成测试

    6.目录全景视图:

    全景视图

    7. 邮件视图:

    邮件视图
    • 邮件功能点:
      1.Subject根据环境变化
      2.标题中加入运行结果
      3.加入线上报告功能

    相关文章

      网友评论

      本文标题:Api_God详解

      本文链接:https://www.haomeiwen.com/subject/icacyttx.html