0

在 IBM Rational Functional Tester 中,我想知道一个 TestObject 是否已经完美匹配。

类 TestObject 有一个方法exists(),不幸的是它没有用,因为当所需的对象不匹配时,它通常会返回多个匹配项。

现在,我试图找到对象并捕获 com.rational.test.ft.AmbiguosRecognitionException,但它很难看。

我想测试一个对象的唯一存在,也许只是得到匹配对象的数量。有没有我忽略的 API 方法?

4

2 回答 2

1

尝试调整识别评分(Window>pref>FunctionalTest>Playback 下的 ScriptAssure)使其更严格,看看是否有帮助。正如您所注意到的,即使有多个匹配项,此方法也会返回 true。如果您正在处理可能基于对象映射识别找到多个匹配项的情况,您可以使用 find() api(如@Roland 建议的那样)特性。

于 2015-11-24T18:55:20.937 回答
0

Normaly,该TestObject.find()方法应该给你一个匹配的测试对象的数组而不抛出一个AmbiguosRecognitionException,例如

TestObject[] matches = document_google().find(atDescendant(".type", "submit"));
matches.length; // no. of matching objects found (3 in this case)

当然,您开始搜索的对象(在上面的示例中,文档document_google()必须是唯一的。

更多关于IBM developerWorks上的 find 方法。

于 2015-11-24T07:30:32.083 回答