我正在使用watin进行网络测试,现在出现了一个奇怪的问题:有一个注册页面,当点击注册按钮时,如果安全号码不正确,则会出现一条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时,这种方法非常好。
感谢您的帮助!
答案 0 :(得分:0)
这段代码在IE9上适合我,试试吧:
AlertDialogHandler alertDialogHandler = new AlertDialogHandler();
ie.AddDialogHandler(alertDialogHandler );
ie.Button(Find.ByName("registe_r")).Click();
alertDialogHandler.WaitUntilExists();
alertDialogHandler.OKButton.Click();
ie.RemoveDialogHandler(alertDialogHandler);