RFT 无法识别弹出的窗口

本文介绍了如何在Rational Functional Tester中处理未期望的活动窗口,通过重载onTestObjectMethodException事件,判断并处理WindowActivateFailedException异常,以及在活动窗口出现时发送回车命令解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Q:

我在使用Rational Functional Tester自动测试工具时,录制了一段程序新建资源,由于数据库中不存在该资源,自动弹出一个不可最小化
的窗口其.class 为Html.Dialog,提示不存在该资源,有一个确定按钮.class为 Html.DialogButton。在回放过程中无法识别该窗口也就找不到
这个确定按钮,产生日志报错。

A1:

你试试这个方法。我是从另外一篇文章里看的,不知道行不行。

为了处理一个未期望的活动窗口,修改脚本:

1. 添加一个方法来重载 onTestObjectMethodException 事件。

2. 添加 if 语句来判断 WindowActivateFailedException 异常是否发生。在这个循环中,调用 Iwindow接口来获取导致问题的活动窗口的信息。

3. 在调用 IWindow 接口下添加一个 if 语句来判断是否活动窗口已经出现。如果出现了,发送一个回车命令给它。活动窗口接到回车命令后,在期望的对象上执行命令。

代码例子:

public void onTestObjectMethodException (ITestObjectMethodState testObjectMethodState, TestObject,foundObject)

A2:

是否录制生成的脚本里使用坐标来记录鼠标的点击位置,回放时弹出窗口位置改变导致动作无法完成呢?

我也在用RFT,但我们是直接写code,很少使用它的录制回放功能。通常需要在代码中添加test object,然后通过这些obj来进行UI的相关操作。

RFT目前的版本不能识别java之外语言编写的UI,但它提供了一个对象 iWindow可以识别windows的标准对话框(title和标准控件,如按钮等),相关操作必须手工写code实现,录制代码时Windows标准对话框的操作并不会被记录下来。因此,如果你遇到的对话框是Windows的话就自己在相应的地方加一些控制语句吧,如果是非Windows标准对话框且不是java语言实现的UI的话,就比较困难了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值