• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

基于 IBM Rational Robot 的自动化功能测试框架

发布: 2009-4-22 10:04 | 作者: 陈国伟 | 来源: 测试时代采编 | 查看: 214次 | 进入软件测试论坛讨论

领测软件测试网


图 3. 为Robot指定每个对象的对象类型、对象标志、执行动作和数据
 


以按钮举例来讲,如果要让Robot自动点击某个按钮,那么首先要告诉Robot需要在“Button”这种类型的对象上进行操作;其次要告诉Robot,在此类型的对象上要执行什么操作,比如click;第三要告诉Robot要click那个具体的按钮上,比如要click“登录”按钮。

表 2:对象识别表 动作类型对象类型对象标志执行动作数据 G Button 确定 Click G EditBox 姓名 Click Jack G ComboBox 角色列表 Click 系统管理员 G RadioButton 区域 Click

在Robot测试技术框架中,相应的处理为:

'打开文件 Dim sData() as string InFileName = getExcelFileName ReadExcelData InFileName, sData() =============================== ‘对文件中每一行 Select Case (sObjType) Case "Button" ProcessButton(sObjAction, sObjData, sData) Case “EditBox” ProcessEditBox(sObjAction, sObjData, sData) Case “ComboBox” ProcessComboBox(sObjAction, sObjData, sData) Case “RadioButton” ProcessRadioButton(sObjAction, sObjData, sData) =============================== ‘对按钮执行的动作 Select Case(sObjAction) Case “Click” Window SetContext, "currentwindow", "" PushButton Click, "Text=" & sObjData, "" =============================== ‘对文本框执行的动作 Select Case(sObjAction) Case “Click” EditBox Click, "Name=" & sObjData, "" InputKeys "^+{HOME}{DELETE}" InputKeys sData =============================== ‘对组合框执行的动作 Select Case(sObjAction) Case “Click” ComboBox Click, "Name=" & sObjData, "" ComboListBox Click, "Name=" & sObjData, "Text=" & sData =============================== ‘对单选按钮执行的动作 Select Case(sObjAction) Case “Click” RadioButton Click, "Name=" & sObjData

要强调的是,以按钮为例,虽然在表中需要为界面上每一个具体的按钮定义一行,但是在测试技术框架中,所有按钮处理的代码都是一样的。

3.2.3 验证点

没有验证点的自动化测试就不能称之为测试。从这句话中就可以看到验证点在自动化测试中的重要性。对于验证点来讲,因为不同的测试、不同的应用验证点都不相同,所以Robot测试技术框架仅仅提供了扩展的机制,不同的验证点可以通过扩展机制加入到测试技术框架中。

加入验证点之后,表的定义如下:

表 3:对象识别表 动作类型对象类型对象标志执行动作数据 G Button 确定 Click G HTMLLink 链接 Click G ComboBox 角色列表 Click 系统管理员 G RadioButton 区域 Click V VP VP_SUM VP_SUM 24

最后一行是加入的验证点。所有的验证点其对象类型均为VP,不同的验证点有不同的对象标志,上表中的验证点是VP_SUM,验证点的基线数据为24。

在Robot测试技术框架中,处理如下:

‘对文件中每一行 Select Case (sObjType) Case …… Process…… Case “VP” ProcessVP(sObjAction, sData) =============================== ‘对验证点执行的动作 g_VP_SUM_Baseline = sData CallScript sObjAction =============================== ‘验证点脚本的处理 sData = g_VP_SUM_Baseline SQAGetProperty “”, “”, sActual if sData = sActual then …… else …… end if

将验证点的基线数据放入全局变量g_VP_SUM_Baseline中,然后使用CallScript函数来调用验证点的脚本。对每一个验证点单独的创建一个脚本文件,脚本文件的名字和验证点的标志相同,都是VP_SUM。虽然各个验证点脚本的内容都不相同,但是一般的步骤是首先从全局变量g_VP_SUM_Baseline中取出基线数据,然后使用SQAGetProperty函数从界面上取实际的数据,再比较实际数据和基线数据。

3.2.4 数据池

往往需要使用不同的数据来运行同一个测试,在自动化测试中是使用数据池来实现的。数据池的增加比较简单,就是往表中增加表示数据的列,每一列代表一次测试执行所需要的数据。如下表:

表 4:数据池表a 动作类型对象类型对象标志执行动作数据1 G Button 确定 Click G HTMLLink 链接 Click G ComboBox 角色列表 Click 系统管理员普通管理员 G RadioButton 区域 Click V VP VP_SUM VP_SUM 24 24

从上表中看到,“数据1”这一列代表一次测试的执行所需要的数据,“数据2”代表另外一次测试的执行所需要的数据。

在Robot测试技术框架中,加入循环,按照数据列的数量来进行循环,每一个循环均从第一行执行到最后一行。

3.2.5 执行分支

在测试中,往往是同一个业务或者功能,但是因为输入的数据、选择的条件不同,而具有不同的执行流程。执行分支的处理比较简单,就是在相应的数据列的位置上,填写代表忽略的特殊标志,比如“IGNORE”,当测试执行到此动作时,判断其数据是否是“IGNORE”,如果是,就不执行此动作而到下一个动作。对应的表如下:

表 5:数据池表b 动作类型对象类型对象标志执行动作数据1 G Button 确定 Click G HTMLLink 链接 Click G ComboBox 角色列表 Click 系统管理员普通管理员 G RadioButton 区域 Click V VP VP_SUM VP_SUM 24 IGNORE

从上表中看到,第一次执行会执行VP_SUM验证点,但是第二次执行,因为验证点相应的数据是“IGNORE”,所以就不会执行VP_SUM验证点。

在Robot测试技术框架中,在每次执行动作时,先判断其数据是否是“IGNORE”即可。

3.2.6 数据关联

在测试中,需要处理数据关联这种情况。数据关联是指前一个动作执行完成后,应用产生新的数据,此数据在随后的动作中需要用到。因为这些数据是在执行的过程中由程序产生的,所以没有办法预先在表中准备。在这种情况下对应的表如下:

表 6:数据池表c 动作类型对象类型对象标志执行动作数据1 G Button 确定 Click G HTMLLink 链接 Click G ComboBox 角色列表 Click 系统管理员普通管理员 G RadioButton 区域 Click V VP VP_SUM VP_SUM  24 IGNORE G DC DC_GETID DC_GETID G EditBox 交易号 Click DC_GETID DC_GETID

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

32/3<123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网