1

我在用watin做一些web测试,现在出现了一个奇怪的问题:有一个注册页面,点击注册按钮时,如果安全号不正确,会显示一个js弹窗信息,如果数字正确,js弹窗将不会显示。我正在用IE9测试它,我使用的代码是这样的:

var alertDialogHandler = new AlertDialogHandler();
using (new UseDialogOnce(ie.DialogWatcher, alertDialogHandler))
{
  ie.Button(Find.ByName("registe_r")).Click();
  MessageBox.Show(alertDialogHandler.Message);
  if (alertDialogHandler.Exists())
  {
     alertDialogHandler.OKButton.Click();

  }
} 

奇怪的是alertDialogHandler不能被抓到,代码

MessageBox.Show(alertDialogHandler.Message);

将返回错误:“操作不可用。对话框不存在。”

我尝试了几种方法来弄清楚如何解决这个问题,但都失败了,是否有可能是由 IE9 引起的?我记得两年前当我使用 IE7 时,它运行得非常好。

谢谢你的帮助!

4

1 回答 1

0

这段代码在 IE9 上对我有用,试试看:

            AlertDialogHandler alertDialogHandler = new AlertDialogHandler();
            ie.AddDialogHandler(alertDialogHandler );
            ie.Button(Find.ByName("registe_r")).Click();      
            alertDialogHandler.WaitUntilExists();
            alertDialogHandler.OKButton.Click();
            ie.RemoveDialogHandler(alertDialogHandler);
于 2012-10-24T06:23:02.190 回答