软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > Rational创建可重用的自动测试之检验测试
全文

Rational创建可重用的自动测试之检验测试

2007-11-22 09:58作者:佚名出处:论坛整理责任编辑:方舟

  一旦录制完成,Rational Functional Tester 便会自己复原。新录制的测试脚本位于中间的视图中。滚动浏览代码并观察所录制的命令。

  右边是 Script Explorer 视图。该视图为您显示关于脚本的信息,例如类层次、数据池、验证点和与测试相关的测试对象。

  双击 Test Objects 树上的creditCombo对象。Test Object Map 窗口打开了,如图 14 中所示。Test Object Map 包含在录制过程中所收集的与所有遇到的对象相关的属性。该图中的属性将在回放的过程中用于确认应用程序中的对象。每一行右边的权重表示该属性对于识别有多重要。

  图 14. 针对 creditCombo 的测试对象图

  Test Object Map for creditCombo

  图中这个特殊的控件条目有两个属性。Functional Tester 专有的 ScriptAssure™模糊逻辑技术将使用所有属性来确定,在回放过程中每一项匹配得有多好。任何属性中的变更都不会导致回放失败。即使在新版的应用程序中有两个或三个属性发生变更,也不会导致回放失败。

  关闭 Test Object Map。

  向数据池中添加数据变更

  双击 Script Explorer 视图中的 Private Test Datapool 对象。这样做打开了与位于窗口较下位置的脚本相关的数据池,如图 15 所示。

  图 15. Test Datapool 视图

  Test Datapool 视图

  1. 在 Test Datapool 中右键单击任意位置,并选择Add Record...
  2. 为您的测试显示出第二行数据。在信用卡号字段中双击,并输入新的卡号:1234 1234 1234 1234。
  3. 将信用卡类型变更为Amex。
  4. 在截至日期字段,输入截止日期06/08。

  向测试中添加定制操作

  如早先所提到的,测试脚本完全是 Java 代码 ——不是 JavaScript,也不是专用语言。它给予您非常强大的功能来满足测试中的独特需求。而且,Functional Tester 提供丰富的 Application Programming Interface(API),通过这些 API,您可以访问测试对象,并控制测试的执行。

  记住,在您录制测试的时候,首先您手动输入了信用卡号和截止日期,然后使用数据驱动命令向导来使 Functional Tester 在回放过程中用数据池中的内容填充这些字段。这样做在您的测试中遗留下一些不必要的命令。这实际上不会伤害到任何东西,但此时您可以删除它们,看看手动编辑脚本代码是如何进行的。

  1. 在 PlaceOrder.java 视图中的测试脚本中,删除图 16 中显示的四行(注意到,如果您通过 Tab 键在字段间切换,而不用点击的方法,那么您的命令看起来会稍微有点不同):

  图 16. 要删除的代码

  要删除的代码

  2. 接下来,您需要添加一行代码,获取计算机屏幕的图像,放入测试日志中。在测试脚本中,找到用数据池中的值输入截止日期的命令。该行以 expirationDateText().setText开头。

  3. 将您的光标放在该行的最后端,按下 Enter 键开始新的一行。

  4. 开始输入logi,并按下 Ctrl-Space。一个弹出窗口出现了,同时还出现了在该环境中有效的所有可能完成的代码,如图 17 所示。该特性通称为代码助手。

  5. 按下键盘上的下箭头键,选中列表中的第二项。这是 logInfo(),RationalTestScript 类中的静态方法,该方法在测试日志中创建了信息的输入,需要一个 String 类型的参数(标签)和一个BufferedImage(要插入的屏幕快照)。

  图 17. 代码助手入口

  代码助手入口

  6. 按下 Enter 键,将该方法调用插入脚本中。

  7. 选择 String 参数占位符。简单地输入"Screen Snapshot"(包括引号),并按下 Tab 键,前进到图像占位符。

  8. 要获取屏幕图像,使用 root 测试对象的一个方法。输入getRootTestObject()。如果您需要的话,使用代码助手将输入工作减少到最少。

  9. 在该行的末尾添加分号。保存您的变更。您的脚本应看起来像下面的图 18。

  图 18. 插入到脚本中的 logInfo() 调用

  插入到脚本中的 logInfo 调用

  在 Functional Tester 脚本中,您可以利用定制代码做很多很多事情。时间不允许我们进一步探究定制代码了,但类似扩展 API、强大的调试器,和代码助手的功能令定制脚本容易实现,甚至是对那些测试新手。

  准备 ClassicsJava Build B

  Functional Tester 还对 ClassicsJava 示例应用程序进行第二次构建。在本教程的下一个部分中,您将依据此新的构建版本回放您的测试,以展示,随着应用程序的演进,Functional Tester 如何适应 UI 布局中的变更。但首先,您需要准备脚本来使用新的构建版本。

  1. 定位到脚本中testMain()方法开头附近的startApp代码行。用ClassicsJavaB 替代 ClassicsJavaA。这样会导致 Functional Tester 使用不同的快捷方式来启动 ClassicsJava 的新版本。注意快捷方式名称区分大小写,因此务必使用大写B。
  2. 保存变更。
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众