对话框中的“确定”按钮上未找到对象错误

时间:2012-10-01 10:33:44

标签: java testing rft

在我的应用程序中,通过单击“保存”按钮,对话框会显示带有“确定”按钮的消息。录制'OK按钮'时录制并显示'text_ok()。点击(atpoint(11,8));'。但在播放过程中,它会向我显示“未找到对象”错误。 最近更新了RFT版本8.2.2.1之后,只看到了这个问题。 任何人都可以说我如何解决这个问题或java中的任何编码。

由于这一点,我的回归正在等待,你的帮助非常明显。 在此先感谢。

2 个答案:

答案 0 :(得分:1)

您还没有提到它是什么类型的对话窗口。但您可以尝试使用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();
}

答案 1 :(得分:-1)

从Selenium Webdriver API的角度来看,我建议您执行以下操作:

Alert alert = driver.switchTo().alert(); 
   alert.accept();

希望这适合你