wangna-test 发表于 2011-9-21 15:55:02

RFT使用中遇到的问题

大家好。
       我刚刚开始使用RFT,存在一些问题,请教各位大侠。
       我们公司产品是使用PB语言开发的应用程序,主界面的菜单点击回访时总是无法识别,附上截图,请大家多多指教。十分感谢

wangna-test 发表于 2011-9-23 17:59:45

怎么没人问津呢,是不是大家没遇到过这个情况
这两天又研究了一下,因为RFT无法识别PB中dw窗口的单元格,我通过一些代码可以获取dw中某个单元格内容
但是无法将单元格转换为GuiSubitemTestObject类型,在执行Click()操作,其中部分代码如下:
ITestData data = (ITestData)dw_1win2().getTestData("alldata");
ITestDataTable list = (ITestDataTable) data;
Object obj = ((GuiSubitemTestObject)data).getSubitem(atCell(atRow(1),atColumn(1)));
其中dw_1win2为RFT识别的DW窗口名称,运行到第三行出错,
2011年9月23日 下午05时55分04秒 CRFCN0601E: Script2.testMain 有未经处理的异常。
exception_name = java.lang.ClassCastException
exception_message = com.rational.test.ft.vp.impl.TestDataTable incompatible with com.rational.test.ft.object.interfaces.GuiSubitemTestObject
script_name = Script2
script_id = Script2.java
line_number = 37
exception_stack = at Script2.testMain(Script2.java:37)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:195)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
at org.eclipse.core.launcher.Main.main(Main.java:30)
又研究了很久实在不知道为何,请各位大侠指教,离成功还有一步之遥。。。。

dreamever 发表于 2011-10-8 17:23:29

Object obj = ((GuiSubitemTestObject)data).getSubitem(atCell(atRow(1),atColumn(1)));很怪异
data是一个ITestData 的对象,他只能获取一个table对象中的数据,但是他不能获取一个单元格对象。所以他无论如何都无法转换成GuiSubitemTestObject,肯定报异常。
由于没有你的那个界面,我也无法告诉你具体该怎么做,你可以试试直接获取那个dw对象:
GuiSubitemTestObject dwSub = new GuiSubitemTestObject(dw_1win2());
然后:
dwSub.getSubitem(atCell(atRow(1),atColumn(1)));
代码仅供参考,因为我没界面。

aywwjy 发表于 2011-11-1 23:00:42

楼上很牛逼!

george_wang 发表于 2012-11-14 17:29:41

RFT无法识别,那你试过find方法么,或者你有遍历dw窗口的子节点及孙子节点查看树结构及相应属性么
页: [1]
查看完整版本: RFT使用中遇到的问题