什么是关键字驱动框架?

    关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(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/

 
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/tsbc/p/4105013.html

什么是关键字驱动框架(自动化测试)相关推荐

  1. Java + Selenium3.0 + Maven+Excel + Log4j2 的关键字驱动框架(Design-StepbyStep)

    关键子驱动的框架:关键字驱动框架- 它更多是作为一个开发或者测试开发人员,开发的一个框架或者工具,目的是让不懂代码的黑盒测试人员去快速编写测试脚本. 一:关键字驱动框架介绍 二:搭建关键字驱动框架的步 ...

  2. [Java版]selenium关键字驱动框架设计实战(二)

    [Java版]selenium关键字驱动框架设计实战(一)本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力.引言使用和学习selen ...

  3. python关键字驱动框架搭建_python webdriver混合驱动测试框架(数据驱动+关键字驱动)...

    混合驱动:把数据驱动.关键字驱动结合起来一起使用 testdata.txt http://www.126.com http://www.sohu.com teststep.txt open||chro ...

  4. ui自动化测试框架_数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

    谢谢打开这篇文章的每个你 关注我们 点击右上角 ··· 设为星标 UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo ...

  5. 能涨薪3k的UI 自动化测试框架:关键字驱动+数据驱动

    [文章末尾给大家留下了大量的福利] 1. 关键字驱动框架简介 原理及特点 关键字驱动测试是数据驱动测试的一种改进类型,它也被称为表格驱动测试或者基于动作字的测试. 主要关键字包括三类:被操作对象(It ...

  6. UI 自动化测试框架:关键字驱动+数据驱动

    1. 关键字驱动框架简介 原理及特点 关键字驱动测试是数据驱动测试的一种改进类型,它也被称为表格驱动测试或者基于动作字的测试. 主要关键字包括三类:被操作对象(Item).操作行为(Operation ...

  7. 自动化测试框架——关键字驱动

    目录 1.内容介绍 2.什么是关键字驱动 2.1.解决什么问题? 2.2.如何来做? 2.3.概念 3.​如何设计关键字驱动 3.1.如何设计程序? 3.2.Cases编写 3.3.Web操作 3.4 ...

  8. 自动化测试里的数据驱动和关键字驱动思路的理解

    初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄须,不就是参数和函数嘛!其实其也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现. 1.录制/回放的 ...

  9. 十年测开如何理解自动化测试里的数据驱动、关键字驱动思路

    初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄须,不就是参数和函数其嘛!其实其也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现. 01.录制/回 ...

最新文章

  1. Python代码调试方法
  2. 一种在MVC3框架里面设置模板页的方法,不使用_ViewStart
  3. php cms 公众号,thinkwechat
  4. UI基础--烟花动画
  5. aac解码器之郁闷(二)
  6. 多维灰色预测模型的一点改进
  7. 计算机信息统计试题,计算机概率统计复习试题.doc
  8. 各家船公司之GX介绍
  9. Python小程序(4)--52周存钱挑战
  10. OCP认证培训学校哪家比较好?您知道怎么选OCP培训机构吗
  11. modeler 连接oracle,用 IBM SPSS Modeler 整合不同数据库之间的数据
  12. 爬虫处理payload请求
  13. python轻松生成pdf文档
  14. 计算机x线平扫对人健康有影响吗,X线检查-医学影像频道-家庭医生在线 第16页...
  15. python后缀是什么_python文件的后缀名是什么
  16. 航信软件里面的虚拟服务器,航天信息网络应用平台
  17. html文件设置成mac桌面,Mac软件教程:让你的Mac桌面放入无限多的文件
  18. java 天数计算日期_Java 计算日期间天数与日期推算等操作
  19. 华为服务器怎么进入系统,服务器怎么进入系统
  20. MATLAB报错:尝试将 SCRIPT XXX 作为函数执行

热门文章

  1. 傅里叶变化的本质:复数的实部和虚部的对应关系
  2. 河南省高中毕业会考计算机考试,河南高中会考等级划分标准
  3. python中da_python学习 da4
  4. 服务器温控系统,服务器温度监控
  5. centos7启动dhcp失败_CentOs 7 搭建DHCP服务器 启动报错
  6. Docker镜像原理学习理解
  7. 数据库系统概论:第三章 关系数据库标准语言SQL
  8. python聚类分析如何确定分类个数_Python数据挖掘—聚类—KMeans划分法
  9. 实现在Windows下安装Lighttpd的方法
  10. Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行