【问题标题】:IBM RFT does not find .net object from frameworkIBM RFT 未从框架中找到 .net 对象
【发布时间】:2014-09-03 07:50:17
【问题描述】:

我必须检查一个带有 RFT 的框架窗口,它是用 .net 框架编写的。我的问题是,通过拖放将框架作为 Testobject 添加到脚本后,它可以正常工作。但重启RFT后,无论是find方法还是对象的高亮功能,都无法再识别该帧。

我读到有一种方法可以将对象添加到代理。但是这个框架是在代理 .Net.FormProxy 中声明的,并且这个代理存在于文件rational_ft.rftcust 作为

<Obj L=".Proxy">
<ClassName>Rational.Test.Ft.Domain.Net.FormProxy</ClassName>
<Replaces/>
<UsedBy>[System.Windows.Forms]System.Windows.Forms.Form</UsedBy>
</Obj>

我不明白是什么问题。特别是,为什么它有时会起作用,但并非总是如此。

谢谢帮助..

【问题讨论】:

  • 是重新启动 RFT 问题还是您也重新启动了被测应用程序 (AUT)?通常,当重新启动 AUT 后对象识别出现问题时,某些属性用于对象识别,该属性在每次重新启动后都会更改。您的框架使用了哪些识别属性?
  • 感谢您的提示。但我有 4 个属性,它们总是具有相同的值。当我仅使用像 rootTestObject.find(atDescendant(...
  • 不知道可能是什么问题。无论如何,这听起来很奇怪——可能是一个错误......
  • 是的,看起来像 :(。也许我给 IBM 写了一张票。谢谢你的帮助。

标签: rft


【解决方案1】:

您提到的问题可能由于以下原因而发生。

物体识别确实在变化。您遇到问题的对象不一定是对象识别问题,而是该对象的父层次结构中的一个对象(除非该对象是顶级对象)。

第二个原因可能是在播放期间应用程序未启用,您可以尝试 getRootTestObject().enableForTesting(/) API 来强制启用应用程序。

在 Object Map 中记录的 Form 对象上尝试使用“更新识别属性”查看实际与记录对象的识别属性是否发生变化。

您也可以只测试一个不同的简单表单应用程序,以查看问题是否与您的应用程序有关,或者它是否是您环境中的一般问题(我怀疑它与应用程序有关)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多