zoukankan      html  css  js  c++  java
  • 什么是关键字驱动框架(自动化测试)

    什么是关键字驱动框架?

        关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是测试步骤中的对象(Test Object),三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data)。

    以上四个部分,都可以使用Excel表格进行维护:

        Test Step:是一个小的测试步骤的描述或者测试对象的一个操作说明。
        Test Object:是指页面对象或元素,就像用户名、密码,
        Action:指页面操作的动作,打开浏览器,点击一个按钮,文本框输入一串文本等。
        Test Data:是任何对象操作时所需要的值,就像用户名、密码进行输入时的输入内容。
     
        其实我们做关键字的驱动的思想,就是把编码从测试用例和测试步骤中分离出来,这样对于不会编码的人员更容易理解自动化,从而让手工测试人员也可以编写自动脚本。(这并不意味这不需要自动化测试人员,对于自动化框架的构建,自动化代码的更新,结构调整等都需要一个技术性的人员)对于测试小的项目的团队,可以有两个手工测试人员和一个自动化测试人员。
     
        通过一个简单的登录功能例子来理解这个概念,想想看你的自动化流程需要做哪些事情:
    1. 打开一个浏览器
    2. 输入url跳转到网站首页
    3. 点击“登录”链接,进入登录页面
    4. 输入“用户名”
    5. 输入“密码”
    6. 点击“登录”按钮,进行登录
    7. 点击“注销”按钮,退出登录
    8. 关闭浏览器 

    下面是我们将要去实现的一些通用组件:

    1. Excel Sheet: 是我们存放测试用例(Test Case)、测试步骤(Test Step)、测试对象(Test Object)和操作动作(Action)的关键字驱动数据表。
    2. Object Repository: 是个属性文件,用来存放HTML应用中的一些元素属性(可看做元素的对象仓库),该文件与测试对象进行链接。
    3. Keyword Function Library: 这是一个方法库文件,这个组件在关键字驱动框架中起着很重要的作用,它主要存放执行的Action,每一个操作动作都可以从这个文件中调用。
    4. Data Sheet: Excel表格存储,测试对象在执行操作时所需要的数据值。
    5. Execution Engine: 是唯一的测试脚本,它包含了所有的代码,通过关键字框架从Excel表格、方法库、属性文件中进行推动测试。

     下面图片展示了关键字框架的通用工作流程:


        一般的关键字驱动工作流程大概都是这个样子的。
     
    • Execution Engine starts the test and connect with the bundle of test cases and start executing one by one
    (使用 Execution Engine 启动测试用例包,启动一个执行一个。)
    • Once Test Case is picked, linked test steps are followed sequentially
    (一旦测试用例被选中,就会链接测试步骤顺序执行
    • Test Steps are further connected with Page ObjectsActions Test Data
    (测试步骤会进一步链接页面对象,操作动作和测试数据)
    • Once Execution Engine gets all the required info to perform a test step, it connects with application and do the step.
    (一旦Execution Engine获取到执行测试步骤所需的所有信息,他就会连接应用程序执行步骤

    优势

    1. 不需要太多的技术:一旦框架建立,手工测试人员和非技术人员都可以很容易的编写自动化测试脚本。
    2. 简单易懂:它存在Excel表格中,没有编码,测试脚本容易阅读和理解。关键字和操作行为这样的手工测试用例,使它变得更容易编写和维护。
    3. 早期介入:可以在应用未提交测试之前,就可以建立关键字驱动测试用例对象库,从而减少后期工作。使用需求和其它相关文档进行收集信息,关键字数据表可以建立手工测试程序。
    4. 组件的重用性:实施关键字驱动的模块化,进一步提高可重用性。
    5. 代码的重用性:作为关键字驱动框架中,只有一个执行引擎,它是鼓励极端的代码的复用。
     
     
    基于关键字的Demo(Python版本):
    https://coding.net/u/tsbc/p/Keyword-for-selenium/git
     
    原文来自toolsqa,本人只做了翻译:
    http://www.toolsqa.com/selenium-webdriver/keyword-driven-framework/introduction/
     
     





  • 相关阅读:
    python之函数一
    python之字典
    分支与master切换 | MyEclipse git怎么提交代码
    gitignore的使用详细图解
    1.1(学习笔记)Servlet简介及一个简单的实例
    10.4(java学习笔记)CLOB,BLOB基本操作
    10.3(Java学习笔记)JDBC时间操作
    10.2(java学习笔记)JDBC事务简述
    10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)
    9.1(java学习笔记)正则表达式
  • 原文地址:https://www.cnblogs.com/tsbc/p/4105013.html
Copyright © 2011-2022 走看看