转帖地址: http://www.51testing.com/?uid-61753-action-viewspace-itemid-219961
Watin 对 Web 页面弹出窗口 , 对话框 , 提示框的处理
处理弹出窗口
首先创建一个 web 页,用于演示弹出窗口。
< input id ="Button1" type ="button" value ="button" onclick ="openwindow()" /> < script type ="text/javascript"> function openwindow() { window.open("http://localhost/Test/test2.htm" ); } </ script > |
上述代码 , 点击“ Button1 ”后 , 弹出窗口 test2.htm. 我们要做的是如何处理 test2.htm 页面
Watin 处理代码如下 :
IE ie =new IE ("http://localhost/Test/" ); //点击按钮,打开新窗口test2 ie.Button(Find .ById("Button1" )).Click(); //查找新窗口test2并赋给新的IE对象 IE newie =IE .AttachTo<IE >(Find .ByTitle("test2" )); //使用新的IE对象就可以继续对新窗口进行操作了 newie.TextField(Find .ById("Text1" )).TypeText("this is new ie" ); |
处理 confirm 弹出框
首先创建一个 web 页,用于演示 confirm 对话框。
< input id ="myButton1" type ="button" value ="this is a button" onclick ="confirmMe(); return false;">< br > < script > function confirmMe() { var answer = confirm ("Are you having fun?" ) if (answer) document.getElementById("myButton1" ).value="Clicked OK" ; else document.getElementById("myButton1" ).value="Clicked Cancel" ; } </ script > |
相应的 Watin 测试 代码如下 :
IE ie =new IE ("http://localhost/Test/" ); //创建一个ConfirmDialogHandler对象 ConfirmDialogHandler cdh =new ConfirmDialogHandler (); //ConfirmDialogHandler对象与ie建立关联 ie.AddDialogHandler(cdh); //点击按钮,这里需要注意的是:使用的是ClickNoWait()方法 ie.Button(Find .ById("myButton1" )).ClickNoWait(); //等待Confirm对话框出现 cdh.WaitUntilExists(); //点击Confirm对话框的OK按钮 cdh.OKButton.Click(); ie.WaitForComplete(); //ConfirmDialogHandler对象与ie取消关联 ie.RemoveDialogHandler(cdh); Console .WriteLine(ie.Button(Find .ById("myButton1" )).Value); Console .ReadLine(); |
处理 Alert 弹出框
首先创建一个 web 页,用于演示 Alert 对话框。
< input id ="myButton2" type ="button" value ="this is a button2" onclick ="alertMe(); return false;">< br /> < script > function alertMe() { var answer = alert("this is a alert dialog" ); if (answer) document.getElementById("myButton2" ).value="Clicked OK" ; } </ script > |
相应的 Watin 测试代码如下 :
IE ie =new IE ("http://localhost/Test/" ); //创建一个AlertDialogHandler对象 AlertDialogHandler adh =new AlertDialogHandler (); //ConfirmDialogHandler对象与ie建立关联 ie.AddDialogHandler(adh); //点击按钮,这里需要注意的是:使用的是ClickNoWait()方法 ie.Button(Find .ById("myButton2" )).ClickNoWait(); //等待Alert对话框出现 adh.WaitUntilExists(); //点击Alert对话框的OK按钮 adh.OKButton.Click(); ie.WaitForComplete(); //AlertDialogHandler对象与ie取消关联 ie.RemoveDialogHandler(adh); Console .WriteLine(ie.Button(Find .ById("myButton2" )).Value); Console .ReadLine(); |
处理 Fileupload 弹出框
首先创建一个 web 页,用于演示 Fileupload 对话框。
< input id ="File1" type ="file" /></ p > |
相应的 Watin 测试代码如下 :
IE ie =new IE ("http://localhost/Test/test2.htm" ); //打开文件对话框并加载指定文件 ie.FileUpload(Find .ById("File1" )).Set(@"D:/Data.txt" ); |