在我的应用程序中,通过单击保存按钮,对话框会提示带有确定按钮的消息。在录制“确定按钮”时,会录制并显示“text_ok().click(atpoint(11,8));”。但在播放过程中,它向我显示“找不到对象”错误。最近更新了 RFT 版本 8.2.2.1,之后只看到了这个问题。谁能告诉我如何解决这个问题或用java编写任何代码。
因此,我的回归正在等待,您的帮助非常可观。提前致谢。
你没有提到它是什么类型的对话窗口。但是您可以尝试 RFT 的 IWindow API 来查找活动的顶部窗口并执行如下指定的单击。
例如,以下代码可以通过调用来处理 html 中的警报对话框
handleDialogButton("Message from Webpage", "ok");
或者,通过调用单击记事本字体对话框(格式>字体)上的canel按钮
handleDialogButton("font","cancel");
--------示例代码----
/*
* Activates the top window with the given caption and clicks on the child control(window) with the specified text
* @param caption- Caption of the Dialog window
* @param btnToClick- Text of the button(any other control) to click
*/
void handleDialogButton(String caption,String btnToClick)
{
IWindow[] windows = getTopWindows();
for(IWindow window: windows)
{
if(window.getText().equalsIgnoreCase(caption))
{
window.activate();
//window.close(); //we can just close it also n break.
IWindow[] children = window.getChildren(); // OR go thru the children to get the child
for(IWindow child:children)
{
if(child.getText().equalsIgnoreCase(btnToClick))
{
child.click();
break;
}
}
}
}
unregisterAll();
}
从 Selenium Web 驱动程序 API 的角度来看,我建议您执行以下操作:
Alert alert = driver.switchTo().alert();
alert.accept();
希望这对你有用