扩展RFT的API来实现验证点功能.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扩展RFT的API来实现验证点功能

如何扩展 RFT 的 API 来实现验证点功能 在 RFT 的体系结构中,有几个非常重要的概念,它们是 RFT 机制的基础。我们可以通过对它们的调用来实现验证功能。 (1)RationalTestScript:RationalTestScript 是所有测试化脚本的基类,也就是说,所有的测试化脚本都需要集成 RationalTestScript 来实现自己具体的脚本测试逻辑。 (2)TestObject:TestObject 是 RFT 关于被测试软件中的图形对象进行封装和交互的核心组成部分,每一个被测软件上的对象都可以映射为 RFT 上的一个 TestObject 对象。 (3)Log:RFT 的验证方法通过生成的日志对象来展示,所以日志对验证来说,也是非常重要的一部分。 (4)验证点相关 API 和 ItestData 结构:RFT 提供验证点的相关 API 来提供对验证点的支持;ItestData 类用来封装测试对象的测试数据,可以大大地方便我们来获取测试数据。 继承和调用 RationalTestScript图 7. RationalTestScript 的层次结构图 RationalTestScript 类中,最重要的方法就是 runMain(), 它是所有 RFT 的脚本的启动方法,在所有的脚本中,我们都需要重载它来获得我们特定脚本的执行方式。同时,它也通过 callScript() 方法来支持在某个脚本中对其他脚本的调用。 RationalTestScript 支持很多种应用的启动方法,run() 可以用来执行一个命令;runJava() 方法支持运行 Java 程序;startApp() 支持启动某一应用程序;startBrowser() 可以用来启动浏览器程序;shellExecute() 则可以支持脚本的执行。 同时,RationalTestScript 还可以获得很多对我们脚本执行非常有用的环境信息,比如说,获得 Java 程序中的 Java 虚拟机的信息—getJVMs();Web 程序中的浏览器位置和类型—getBrowsers();获得当前操作系统的类型—getOperatingSystem() 以及环境参数—getenv() 等等。 使用 Log RationalTestScript 类中有很多方法来控制结果日志的生成: (1)logTestResult(); 将验证点方法生成的结果输出到日志文件中 (2)logInfo(); 将步骤信息输出到日志中 (3)logError(); 将程序执行中产生的错误信息打印到日志中 (4)logException(); 将程序执行中产生的异常信息打印到日志中 (5)logWarning(); 打出警告信息 TestObject 的使用图 8. TestObject 层次结构图 RFT 中有两种对象的获取机制。 静态对象获取: 图 9. 静态对象获取 TestObject to = new TestObject(getMappedTestObject(objectName)); 使用静态方法获取的对象都存储在 RFT 的 ObjectMap 里,每一个存储在 ObjectMap 里的 TestObject 对象都有一些静态属性,在以后的对象匹配中,RFT 就会对这些静态属性与被测软件上的对象进行比较,从而获得对象。ObjectMap 支持很多操作,包括动态加入对象,删除对象,查找对象等等,我们也可以通过调用 ObjectMap 的 API 来定制一个自己的 ObjectMap 对象。 动态对象获取: 动态方法是指通过 RFT 提供的 find() 方法来获得对象,RFT 的执行引擎会通过用户的输入属性参数在被测软件上查找当前的所有对象来进行匹配。 TestObject to = RootTestObject.getDomain().find(subItem); 动态获取对象的方法将不会使用 ObjectMap 机制,而是采用属性匹配的方法。用户在编写脚本的时候,处理对象都会调用 RFT 的查找方法 API,参数是采用一定的属性值描述特定的对象,以后的每一次脚本执行,RFT 的查找 API 就会根据用户指定的属性值对界面上的所有对象进行查找和匹配,找到最合适的对象并对其进行相关操作。 通过对 TestObject 的相应方法的调用,可以实现对特定对象的调用。通用的 TestObject 对象获取与验证 API 如下: (1)TestObject to; 创建 TestObject 对象 (2)to.exists(); 验证一个对象存在与否 (3)to.getChildren(); 获得一个对象的孩子对象 (4)to.getProperty(pr

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档