关键字驱动框架入门教程-1-介绍

        之前在群里,看到很多人在讨论关键字驱动框架,我之前有使用过别人写的关键字驱动框架的经历,其实我是比较不喜欢这个框架的,它更多少是作为一个开发或者测试开发人员,开发的一个框架或者工具,目的是让不懂代码的黑盒测试人员去快速编写测试脚本。刚好,我在toolsqa.com看到了这个关键字驱动的教程,所以,这里我把它翻译过来,加上一部分我自己的理解。希望大家也可以通过这个教程,知道什么是关键字驱动框架,如何设计一个简单的关键字驱动自动化测试框架。


什么是关键字驱动框架?

       关键字驱动框架(Keyword Driven Framework)是功能自动化测试框架的一种,有时候也叫表驱动测试(Table-Driver)或者基于动作词语框架(Action Word based)。我在博客里介绍的基于POM思想的Selenium的自动化测试框架,本系列的关键字驱动框架的思想就是关键字驱动,基本的实现原理是:在关键字驱动框架中,把测试用例分为4部分:测试步骤,测试对象,动作,测试数据。

 

上面的4部分,我们可以借助excel来进行组织和管理。

测试步骤:是一个很小的测试步骤的描述,例如点击按钮。

测试对象:一般是web系统上页面上的元素,例如用户名输入框,登录按钮。

动作:例如,点击,输入,打开浏览器

测试数据:用来给测试对象赋值的数据,例如手机号码和邮箱字段。

 

       关键字驱动的背后思想,就是把一个代码编写的自动化测试用例场景拆分成多个很小的测试步骤,特别是给那些不懂代码或者不熟悉写自动化测试的手工测试人员提供了一种方式,去实现自动化测试。手工测试人员,不需要关注内部代码如何实现,他们只需要在数据表,例如execel中按照规则去填写测试数据,就可以实现测试场景的自动化。

 

       我们来举例来介绍这种思想,下面举例登录服务器的场景。下面的测试步骤,不管是自动化还是手工,基本上都是这么去划分。

1. 打开浏览器

2. 输入测试服务器地址

3. 点击登录链接

4. 输入用户名

5. 输入密码

6. 点击登录按钮

7. 点击登出链接

8. 关闭浏览器,退出测试

 

上面的步骤,用关键字驱动的思想来实现,就是这么去做的:

1. Excel表:这张表主要写测试用例名称,测试步骤,测试对象(元素)和操作方式。

2. 对象仓库:主要是页面元素的定位方式和表达式,例如,我们习惯用xpath来定位页面元素。这里提到仓库的概念,这么去想一下,我用一个xml文件或者一个excel文件,或者一个text格式的文件,里面把一个软件项目的页面所有需要用到的元素对象的表达式都写到同一个文件,这个方式就叫对象仓库。

3. 关键字方法库:就是定义或者叫封装一些操作方法,供其他地方调用,这些方法尽量都使用一些简单的词汇去描述操作动作,例如点击,输入。

4. 数据表:可以是excel表,用来存储一些测试数据,例如用户信息:昵称,手机号,密码等

5. 执行引擎:写好测试脚本之后,我们需要去运行脚本。如何组织和调度脚本的运行,这些都在执行引擎中实现。例如如何去获取excel里面的测试数据,如何读取excel表的测试用例信息等。

 

整个过程可以用下面这张图来表示,或者说关键字驱动框架的原理就如下图。

 

关键字驱动框架的优点:

1. 技术门槛低:一旦开发人员设计好了框架,手工测试人员或者没有相关脚本,代码经验的人员都可以按照模板写自动化测试脚本。

2. 容易理解:基本上都是在维护excel表,没有在写代码,所以测试脚本容易读和理解。而且看到那些关键字方法,就很容易想起手动测试场景。

3. 容易上手:和前面两个优点差不多意思,主要是不需要代码知识也能写测试脚本

4. 组件重用:支持模块化复用,具有一定的扩展性。

5. 代码复用:其实调用关键字方法就是在复用代码。包括执行引擎一个用例一个用例执行下去也是在复用代码。

 

       其实,我们大概了解了关键字框架的优点,我们也适当了解一下它的缺点。当然,作为本系列的开篇,我不会立马给出关键字驱动框架的缺点。等我们慢慢设计出来框架,然后使用它,自己去找出它的限制和缺点。可以肯定的是,它没有用代码写自动化测试用例要效率高和方便和高复用性。下面我们就开始来学习关键字框架的设计过程,我这里选择Java+Selenium3.0来展开。

阅读更多

没有更多推荐了,返回首页