对象映射:弹性回放的关键
您也许注意到了,Rational XDE Tester 在自动生成测试脚本的同时,也创建了一系列对象,这些对象包含在对象映射里,每个对象映射包括被测试应用程序在测试脚本里用到的对象的全部信息;本节就要阐述对象映射在应用程序变更时对增加测试脚本回弹性所扮演的角色。
这一步,我们要打开对象映射,查看Rational XDE Tester 从应用程序中捕获的GUI对象信息。
1. 检查对象映射
对象映射提供了用户对应用程序操作所涉及的每个GUI对象的信息。
在Rational XDE Tester脚本视窗里,扩展测试对象Test Objects目录
私有和共享:对象映射可以是私有的,也可以是共享的,私有对象依附于脚本,只被指定的脚 本访问;共享对象可以被众多脚本访问,因此共享对象对测试对象需要经常更新的情况有很大好处,修改一个共享对象,可更新全部使用该对象的脚本。
双击text对象,它是用户输入信用卡号的文本框
查看出现在Recognition标签里的信息
从该标签里看到Rational XDE Tester捕获了这个对象的五个属性,.class、.classIndex、.priorLabel、accessibleContext.accessibleRole、name,XDE Tester 就利用这些属性寻找信用卡文本框并对它操作。
注意每一个属性都有个权值weight,权值决定该属性重要程度,在本例里,.name属性(权值100)的重要程度是.priorlabel属性(权值25)的四倍,用户可以灵活调节权值大小。
当Rational XDE Tester在回放脚本时,对测试对象不是精确的在应用程序里匹配,而是用一个评分系统在应用程序里寻找最和对象映射里匹配的对象,Rational XDE Tester将对象映射里的对象属性和应用程序里的目标对象属性做比较,最终确定一个分值;最理想的分值是0,假如对象属性发生了一个微小变化,分值会是个比较小的数字,Rational XDE Tester确定一个最小的分数,如果该分数在一个可以接受的容忍值内,那么就对该对象进行操作;这个特点意味着应用程序的GUI对象发生微小变化,不会使脚本运行中断,从而节约脚本维护成本。
关闭对象映射
用户自定义容忍值
基于应用程序会不断升级修改,那么每次回放测试脚本时需要的对象和录制时的GUI对象有所不同,用户可以修改一个对象变化程度的值,保证XDE Tester 在回放时不会因此而停滞。
选择ConfigureàPreferencesàRational XDE TesteràPlaybackà ScriptAssure,用户可以在Tolerant和Strict之间调节该值
第四步:执行脚本
Script Assure缩减脚本维护量
我们现在到了可以体验Rational XDE Tester带来的精彩时刻了!脚本已经创建完成,现在要在应用程序新版本上自动运行测试了;从这点看,我们以后遇到的最大麻烦,就是脚本的维护工作。我们的目标是减少维护旧脚本工作量,增加创建新脚本的时间。这一步里,我们要了解Rational XDE Tester如何利用ScriptAssure 来缩减脚本维护工作量的。
这一节里,我们要执行测试脚本来验证新版本应用程序的功能。
在新版本上回放测试脚本
在新版本回放测试脚本之前,需要修改脚本中应用程序的名称。
a. 在脚本编辑器里,保证脚本Classics.java是激活的。在脚本部分的模板信息下方,看到打开应用程序的命令:
startApp("ClassicsJavaA");
b. 将"A"该成"B",注意这里大小写敏感。
c. 选择 Script > Run运行脚本
d. 脚本回放时,XDE Tester会因为寻找Remember Password复选框,在登陆窗口暂停20秒钟;新版本在标签名称上有个变化,即原来的“Remember Password”改成了“Remember the Password” 。
幸好有了ScriptAssure,标签对象的改变不会影响脚本的回放,ScriptAssure的模糊匹配逻辑该认为标签对象仍然是最贴近对象映射里需要的对象,从而继续执行脚本回放。
e. 等待脚本执行完毕,弹出日志文件。
重设GUI
注意应用程序的新版本里可能会有界面对象重组的情况,但是有了对象映射,XDE Tester不会依赖于对象的分布位置来确定,因此这种情况不会影响脚本的回放。
我们注意到,在日志文件里 Rational XDE Tester出现一个警告提示 “Object Recognition is weak”,意思是说测试中一个对象和录制时的对象信息有所变化。
用户可以决定是否忽略这个问题或者修改脚本文件。忽略问题不会影响脚本回放,但是,会继续提示警告信息;如果修改对象映射文件,使脚本和测试程序保持同步,就不会提示警告了。
这一节讲述了 Rational XDE Tester的ScriptAssure的强大功能。和其他测试工具比较,一般来说针对这样的问题,测试脚本都会中断,需要人工修改脚本;然而这样的脚本问题很浪费时间,尤其对于夜晚自动测试的工作来说,一个小小的脚本错误也会耗时很久。
下一步干吗呢?
让我们回顾一下刚刚完成的事情:
我们创建了第一个Rational XDE Tester脚本
我们用动态数据验证了一个测试检查点
我们利用ScriptAssure 保证了应用程序变化时也会正常回放
接下来干吗呢?
我们演示了Rational XDE Tester在实例程序的使用,现在是把它用到您自己测试程序里的时候了!开始之前,首先要配置您的测试程序。
按照如下步骤配置您的测试程序:
选择Configure > Configure Applications for Testing…
选择Add…
这里有三个选项,选择:
Java Application,如果您的程序从一个 java .class 或.jar文件开始
HTML Application,如果您的程序是基于浏览器
Executable or Batch File,如果您的程序从一个批处理或可执行文件开始
点击Run按钮开始测试您的应用程序
如果测试程序启动了,说明配置成功,您就可以对程序进行录制脚本了;如果没有启动,访问Detailed Information 重新设置。
下一步,我们要保证浏览器或者JVM被激活。首先需要按照“安装并配置JRE”来配置JVM。
按照以下步骤激活浏览器:
选择Configure > Enable Environments for Testing
在 Web Browsers标签,选择浏览器,点击enable
在Java Environments标签,选择全部的JVM并点击enable。JVM 一般会被自动激活,这里的操作只是一个防范措施。
Rational开发者网站
为了加深对Rational XDE Tester 的掌握,请访问 www.rational.net 。在这里有很多关于Rational XDE Tester方面的白皮书和技术文章
总结
本指南说明了如何安装Rational XDE Tester,如何录制和回放测试脚本,以及如何验证动态数据等,还有一些其他关于Rational XDE Tester的使用。
http://blog.ltesting.net/index.php?blogId=19 作者:sinckyzhang
文章来源于领测软件测试网 https://www.ltesting.net/