Web自动化测试框架设计

作者: wywincl | 来源:发表于2016-08-03 16:45 被阅读1174次

    背景

    为什么要设计自动化测试框架,主要是由于以下几点原因:

    • 统一不同的测试技术,协同工作
    • 降低测试人员编写自动化测试用例的门槛
    • 对测试流程实现统一的管理
    • 方便测试脚本的维护,代码复用

    设计

    构建通用的Web自动化测试框架,这里我们选用了一些技术和工具,整体架构图如下:

    web_test_arch.png

    上图,是两个技术栈实现的测试框架,后面分别进行详细的介绍。

    W3C规范:The WebDriver Wire Protocol (RESTful)
    下图,以IE浏览器为例,说明原理。


    webdriver-ie.png

    这里有几个概念需要理解:

    页面对象模型(Page Object Model)

    “Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。 当页面元素id变化时,只需要更改测试页Class中页面的属性即可。

    页面对象模型的好处如下:

    • Page Object将测试对象及单个的测试步骤封装在每个Page对象中,以page为单位进行管理
    • Page Object的主要价值体现在对界面交互细节的封装,这样可以使测试案例可以更关注与业务而非界面细节,提高测试案例的可读性
    • 减少由于页面结构,元素属性变化而导致的大量测试用例重构
    构建页面对象模型:

    第一步,构建页面对象模型


    page_object_model.png

    第二步,进行业务抽象


    test_suite_arch.png

    关键字模板( Keywords Template)

    to do

    相关文章

      网友评论

        本文标题:Web自动化测试框架设计

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