美文网首页自动化测试
从零开始UI自动化测试框架搭建

从零开始UI自动化测试框架搭建

作者: 小布丁DIng | 来源:发表于2017-05-10 08:57 被阅读204次

    作为一名没有测试经验的测试者的过程整理记录。望大家多提建议,谢谢!

    一、本文主要描述自动化测试框架的搭建过程。

    二、工具选型

    根据产品的需求,以及资源能力,要选择一个好的工具和框架,尤为重要。与其他部门使用是Sahi、及QTP工具做对比,最后选择Selenium2 Webdriver·,使用Java语言。

    三、架构设计

    1、架构设计考虑因素

    易扩展性、易维护性、易用性、易调试、稳定性、高效性

    2、架构图

    自动化测试架构图.jpg

    3、底层框架

    a、为了提高框架的易扩展性,对Webdriver的方法操作进行二次封装。(包括action、wait、findElement等)。
    b、选用testNG测试框架。用于测试用例的管理、失败截图和失败重跑等测试监听。
    c、选用Allure测试报告框架。用Allure自带的注解,将失败截图显示在测试报告中。
    d、对公共方法的提取。例如文件操作、数据库操作、日志、随机数、时间格式等。

    4、业务框架

    首先,了解到自动化测试框架分为4种:模块化测试框架;函数库结构测试框架;数据驱动测试框架;关键字驱动测试框架。以下表格是对4种框架的理解:

    自动化测试框架对比.png

    在目前自动化测试实施的初级阶段,选择的是数据驱动测试框架,业务框架分为4层。
    a、数据层:将自动化测试所需的数据与脚本分离存放,在测试时可通过读取外部文件或数据库的数据来进行测试。
    b、对象层:采用用页面对象(Page Object)的设计模式,将测试代码与被测试页面的页面元素及其操作方法进行分离,以此降低页面元素变化对测试代码的影响,从而减少测试脚本的维护量。
    c、业务逻辑层:是指引整个自动化测试的代码设计,这里所设计的代码必须以最小块单位划分存储,以便于后期调用或维护。
    d、测试用例层:是让用户直接看到的UI界面。测试用例的设计要依据原子性,进行最小颗粒细分,并且各用例间降低耦合度。

    四、分布式部署

    采用Selenium Grid的hub和node 的方式实现分布式部署。使用场景:兼容性测试;提高较多测试用例时的执行效率。(具体实现方式本文不做详细介绍)

    五、自助平台工作图

    采用Jenkins+git+maven+Selenium Grid的方式实现分布式持续集成。

    自动化测试自助平台.jpg

    相关文章

      网友评论

        本文标题:从零开始UI自动化测试框架搭建

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