zoukankan      html  css  js  c++  java
  • selenium自动化概括

    什么是自动化测试框架
    
    自动化测试框架能够提供便利给用户高效完成一些事情,比如,结构清晰开发脚本,多种方式、平台执行脚本,良好的日志和报告去跟踪脚本执行结果。
    
    关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架。
    
    界面自动化测试框架核心是选择 一个用来编写脚本的语言,一个用来web界面的库,管理脚本的执行工具。这里选择python,web界面库用的selenium,脚本管理工具可以用unittest单元测试框架。测试报告可以用unittest库下的拓展HtmlTestRunner。
    
    常见的测试框架
    
    1)模块化驱动测试
    
    2)数据驱动测试
    
    3)关键字驱动测试
    
    模块化驱动测试:是指将重复的操作独立成公共模块,当用例执行过程中需要用到这一模块操作时就调用。最大限度的消除了重复。从而提高测试用例的可维护性。
    
    数据驱动测试:数据驱动说白了就是数据的参数化,因为输入数据的不同获得不同的输出结果。不管把数据放在数组,字典或者外部的文件(excel,csv、txt、xml),目的都是为了让数据和操作分离。
    
    关键字驱动测试:就是把数据换成了关键字,比如以前的QTP和selenium IDE。关键字驱动测试可以使用Tobot Gramework关键字驱动测试框架
    
    自动化测试框架需要什么
    
    首先我们来思考一下界面自动化测试框架需要些什么?或者说需要实现哪些功能?由哪些部分来组成?
    
    1)输出日志文件
    
    2)测试基类封装
    
    3)配置文件
    
    4)测试脚本
    
    5)管理、执行测试脚本方式
    
    6)测试报告输出
    
    7)第三方插件
    
    8)持续集成
    
    解释:
    
    通过日志输出,我们可以知道测试用例的执行情况:比如请求哪个地址,请求内容是什么,响应码多少,响应内容是什么,断言结果,是否测试通过,如果产生报错,脚本执行失败,可以通过日志快速定位错误发生的位置。
    
    测试基类封装,就是把我们很多需要重复使用的功能,写成一个公共方法,放到一个基本类下面,方便每次调用,例如配置文件增删改查,请求的再封装,响应码断言,响应内容字典迭代等。
    
    需要一个配置文件去控制一些环境信息,比如测试地址,用户信息,保存在测试过程中的一些值,方便后续测试用例的调用,配置文件可以是txt/xml/ini,Python的话一般用ini文件。
    
    测试脚本就是我们对被测接口,具体实现测试的代码,一般我喜欢按照功能模块新建.py文件。
    
    管理和执行脚本的方式,可以使用python单元测试框架unittest。因为我们不可能一个个用例的去执行,通过一个这样的框架,确定所需执行的脚本数量,脚本执行顺序
    
    执行了多少测试case,case的结果如何,这些都需要通过一个测试报告来展示,一般都是通过第三方插件来实现,使用unittest可以使用其拓展HTMLTestRunner来进行生成测试报告
    
    第三方插件,有时候有些功能别人已经写好了,直接拿来用就行,比如上面提到的生成测试报告
    
    持续集成,git,svn,maven,jenkins,比如把脚本放到jenkins上,达到持续集成,一键就能执行测试脚本。
  • 相关阅读:
    Windows光标形状
    函数对象(仿函数 functor)
    构造函数的初始化列表抛出异常
    <<Windows via C/C++>>学习笔记 —— 线程优先级【转】
    单例模式
    c++中的重载(Overload)、覆盖(重写,Override) 、隐藏与访问权限控制及using声明
    RTTI: dynamic_cast typeid
    抽象类 虚函数 声明与实现
    typedef 函数指针 数组 std::function
    Client Window坐标 RECT相关函数
  • 原文地址:https://www.cnblogs.com/jayson-0425/p/9696131.html
Copyright © 2011-2022 走看看