• Python+Selenium框架设计篇之-什么是自动化测试框架


    1.什么是自动化测试框架

          简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境。自动化测试框架能够提供很多便利给用户高效完成一些事情,例如,结构清晰开发脚本,多种方式、平台执行脚本,良好的报告去跟踪脚本执行结果。

    框架具有以下一些优点:

    1)代码复用

    2)最大覆盖率

    3)很低成本维护

    4)很少人工干预

    5)简单报告输出

    2.常见的测试框架分类

    好多Selenium自动化测试开发人员是有QTP那边转过来的,所以,他们在早期设计的框架大致可分为以下几类:

    1)基于模块的测试框架

    2)基于库(Library)结构测试框架

    3)数据驱动测试框架,和QTP很像

    4)关键字驱动测试框架,也是QTP过来的

    5)混合测试框,3 4和综合

    6)行为驱动开发测试框架

     这里我们不一一介绍这些框架,字面意思可以想象一些这些框架的背景和组件,本文只是对框架有一个基本了解。

    3.框架基本组件

    我们来思考下框架组成部分:

    1)需要配置文件管理

    2)业务逻辑代码和测试脚本分离

    3)报告和日志文件输出

    4)自定义的库的封装

    5)管理、执行脚本方式

    6)第三方插件引入

    7)持续集成

    解释:

          我们需要一个配置文件去控制一些,环境信息,开关,配置文件可以是txt/xml/yaml/properties/ini,一般.properties使用较多在JAVA里,本文是Python系列,我可能会选择ini文件。

           业务逻辑代码和测试脚本分离,不像我们刚开始学习Selenium那样,代码和脚本在一个类文件里演示。我们根本没有用到代码重构,复用。代码和用例文件分离后,更加清晰,去多人开发脚本,方便调试。

           报告和日志文件输出,你执行了多少case,case结果如何,这都需要报告来展示,一般采用第三方插件来实现这个功能,好多报告格式是html,简单,明了的风格。日志输出也很重要,如果发生报错,脚本执行失败,通过日志快速定位发生问题位置。

          用户自定义库,这个很好理解,我们很多功能需要重复调用,这样我们就写成一个公用方法,放到工具包下,每次方便调用,例如浏览器引擎类和basepage.py的封装。

          管理和执行脚本的方式,例如Python中单元测试框架unittest使用率非常高。

          第三方插件,有时候,我们一些功能,需要借助第三方插件,能够更好实现,例如AutoIT,来实现文件上传和下载。还有利用第三方报告插件生成基于html格式的测试报告。

          持续集成,git,svn,ant,maven,jenkins,我们会把这整合到jenkins,达到持续集成,一键执行测试脚本。

    根据以上的特点介绍,我大致用以下图来描述一下,一个简单的自动化测试框架,可能包含哪些组成部分。

           框架的简单介绍就到这里,有些人把框架想得太复杂了,框架无非就是一些软件的集合,达到特定的目的。这里我们上图画出来的框架,就是一个简单的自动化测试框架,别笑,这确实是一个简单但又包含必要的组件的自动化测试框架设计实例,如果你学会了这个设计思路和思想,那么,你已经达到了自动化测试第二个阶段的水平:能够简单设计自动化测试框架和维护框架的能力。

  • 相关阅读:
    java并发容器
    五种单例模式的写法
    Java中Volatile关键字
    Future模式实例
    mysql笔记
    亚马逊EC2服务器登录方法
    RSA加密方法java工具类
    Base64Util工具类
    maven命令创建项目
    关于spring事务注解
  • 原文地址:https://www.cnblogs.com/wangyinghao/p/10607475.html
Copyright © 2020-2023  润新知