WatiN测试javascript中的alert窗口


  越使用WatiN越觉得他是一个很好的测试工具。。。
  不过在网上找到的几个例子都有问题,而且没讲到如何测试Alert弹出窗口。自己研究了一下。终于解决了。做个笔记,以防自己忘记。

  有一个注册页面,要求输入一个唯一的Email地址,如果存在了地址,则弹出一个Alert窗口进行提示。下面是测试的步骤。
(我用的单元测试工具是NUnit。Nunit和WatiN一起使用有一个配值问题,参考另一篇文章)
  
  为了简单我在页面就放一个Email输入文本框
  用户输入邮件地址后,通过ajax在服务端验证邮件地址是否已经存在,存在则跳出弹出窗口提示邮件存在!下面是测试代码
public  void  TestEmail()
  
{
   WatiN.Core.DialogHandlers.AlertDialogHandler dh 
= new WatiN.Core.DialogHandlers.AlertDialogHandler();

   IE ie 
= new IE("http://localhost/ReisterAndLogin/RegisterUser.aspx");
   
   ie.AddDialogHandler(dh);
//增加一个控制句柄


   ie.TextField(Find.ByName(
"txtEmail")).TypeText("[email protected]");
   ie.Button(Find.ByName(
"btnRegister")).ClickNoWait();
            
   
   
dh.WaitUntilExists();
   string mess 
= dh.Message;
   dh.OKButton.Click();
//点击这个窗口的OK按钮
   ie.WaitForComplete();
   ie.RemoveDialogHandler(dh);

   ie.Close();
   Assert.AreEqual(
"邮件地址已经存在",mess);    

   


  }


特别说明的有一些教程说
//dh.WaitUntilExists(3);
但是发现总是会出错,后来根据官网文档上的教程应该是使用dh.WaitUntilExists();方法。

现在运行Nunit后,可以自动测试这段代码。方便,省心
  


 
 

你可能感兴趣的:(JavaScript,Ajax,单元测试,IE)