专注于自动化测试,性能测试.......

WatiN系列之三 Watin如何处理Web页面弹出窗口,对话框,提示框

上一篇 / 下一篇  2010-09-09 18:10:26 / 个人分类:WatiN

WatinWeb页面弹出窗口,对话框,提示框的处理51Testing软件测试网 |7i@ A4`:FRK

 

/^'K;?-nx K+H7x"MT0

处理弹出窗口51Testing软件测试网2V_ ml$C |Q.a&Kz v

 首先创建一个web页,用于演示弹出窗口。

)bI$~.\1Rx,G2ft:qWt0

 51Testing软件测试网3DT%@"ebT)Hgb%r4t

xfh6@Y2l OZ.j0

<inputid="Button1"type="button"value="button"onclick="openwindow()"/>51Testing软件测试网&\ }^:a j`5Z(t

   <scripttype="text/javascript">

t oH1K2f7}N6b0

   functionopenwindow()51Testing软件测试网 V-O"Y;S \.e%Zhu/x

     {51Testing软件测试网 ]gy(Wy5if

         window.open("http://localhost/Test/test2.htm");

0R8KJ.q5K0

     }

W w Q X}0

   </script>51Testing软件测试网4RX![ LY!Z^ V5g

51Testing软件测试网 DH~/| o(cLy

上述代码,点击“Button1”后,弹出窗口test2.htm.我们要做的是如何处理test2.htm页面51Testing软件测试网 { v\2q*^u^

Watin处理代码如下:51Testing软件测试网d3Q%d,qz8|/j!c

51Testing软件测试网:ul|IW7~'U

IEie =newIE("http://localhost/Test/");

LKw:y OI0

//点击按钮,打开新窗口test2

qlu[mD6R{0

ie.Button(Find.ById("Button1")).Click();51Testing软件测试网Nt$d!`o}!h

//查找新窗口test2并赋给新的IE对象

^[[Lm3a0];aK E0

IEnewie =IE.AttachTo<IE>(Find.ByTitle("test2"));51Testing软件测试网g^JIk

//使用新的IE对象就可以继续对新窗口进行操作了

"w:o Z oU6[0

newie.TextField(Find.ById("Text1")).TypeText("this is new ie");

CU wAXgb)m0
51Testing软件测试网\.@J.O5_ yC

 51Testing软件测试网/D8|wVAL| I

 

eDQ??c0

  处理confirm弹出框51Testing软件测试网;^0z,WC0av

 首先创建一个web页,用于演示confirm对话框。51Testing软件测试网6f[{9S,j%Bi

51Testing软件测试网VG1q4H)C1I![yO

<inputid="myButton1"type="button"value="this is a button"

w;{r1L)i0

     onclick="confirmMe(); return false;"><br>51Testing软件测试网 FXQV0C.o*a

   <script>

J0S|O*{PF:Fc M*\K4~0

     functionconfirmMe() {

zZ2Y4w W.SL0

       varanswer = confirm ("Are you having fun?")51Testing软件测试网7w2Q"~9{,x#F#J

       if(answer)51Testing软件测试网2^*C S1P#G2lt.j-Ik

         document.getElementById("myButton1").value="Clicked OK";51Testing软件测试网8W;Jtm:{~/]

       else

#hI+zA#W x1e-X0

         document.getElementById("myButton1").value="Clicked Cancel";51Testing软件测试网x3^u(x1Z x6h

     }51Testing软件测试网 W Aq4K+b0bP

   </script>51Testing软件测试网J-rj9K2kk8X)[

;By_7a{%g0

 

Kl:S$j+lm%_0

相应的Watin测试代码如下:

T6D5wa+D2}c0

1@&|#k.B:^lO_0

 51Testing软件测试网w,Iy*P|&t-o l2WqM

IEie =newIE("http://localhost/Test/");

V]$Xh:Sd A"QR3Ec0

//创建一个ConfirmDialogHandler对象

;^s5@-Wfl V0

ConfirmDialogHandlercdh =newConfirmDialogHandler();51Testing软件测试网 ?#w'K3U M#Xl:P

//ConfirmDialogHandler对象与ie建立关联51Testing软件测试网GBd2q(L

ie.AddDialogHandler(cdh);

7gSA*V_H D(F-MG0

//点击按钮,这里需要注意的是:使用的是ClickNoWait()方法

Cc]-A*@ X6|w0

ie.Button(Find.ById("myButton1")).ClickNoWait();51Testing软件测试网"q(|mLj&Y{!?8Do

//等待Confirm对话框出现51Testing软件测试网c;y.^3H:t3d6HY!LP

cdh.WaitUntilExists();51Testing软件测试网0usr3q p

//点击Confirm对话框的OK按钮

/RM v)L/Q AL0

cdh.OKButton.Click();

3vw#H7yw-IPBu0

ie.WaitForComplete();51Testing软件测试网bY;E%j Zo0L(c4z

//ConfirmDialogHandler对象与ie取消关联51Testing软件测试网xQ&iX|

ie.RemoveDialogHandler(cdh);51Testing软件测试网r3K ^4E5E Dg

Console.WriteLine(ie.Button(Find.ById("myButton1")).Value);51Testing软件测试网-n3ns`FkpT

Console.ReadLine();

f5d9x])b o&j^WNG%O0

8~9_ }/Okp0

 51Testing软件测试网Ywa t ekVQ.Mk`

处理Alert弹出框

'D7d0?-H @ y C WP,B(Xz0

首先创建一个web页,用于演示Alert对话框。51Testing软件测试网 W1qgt!f9A(q

Zjv'}g2Eu{0

<inputid="myButton2"type="button"value="this is a button2"51Testing软件测试网1m9` k9jk9z

     onclick="alertMe(); return false;"><br/>51Testing软件测试网w7wpT P}F

   <script>

[}9}-`U0EC Y A!C0

     functionalertMe() {51Testing软件测试网8NX#{o1|B[K X

       varanswer = alert("this is a alert dialog");51Testing软件测试网:Qba7Y4^gtTU

       if(answer)

IH abK&O*\0

         document.getElementById("myButton2").value="Clicked OK";

CA }!X2j0

     }51Testing软件测试网x(|9t0QOA~ `:[

   </script>51Testing软件测试网(i^~|{0R DL/I

|$n6VPA#? QU0

 

M9Kx g2~5OM)w^0

相应的Watin测试代码如下:51Testing软件测试网#U8tgk)e{m

51Testing软件测试网!L4y0[/T?I/@ a(L

IEie =newIE("http://localhost/Test/");51Testing软件测试网9C Q(aH#eORt'G!t

//创建一个AlertDialogHandler对象51Testing软件测试网JF}yFSJT

AlertDialogHandleradh =newAlertDialogHandler();

$Z0M7AI LA_&z-u0

//ConfirmDialogHandler对象与ie建立关联51Testing软件测试网S&l zne Z%Z?

ie.AddDialogHandler(adh);51Testing软件测试网u;E?!s'mLa

//点击按钮,这里需要注意的是:使用的是ClickNoWait()方法

\&ks BK[0

ie.Button(Find.ById("myButton2")).ClickNoWait();51Testing软件测试网uhg.}jS)l

//等待Alert对话框出现51Testing软件测试网7iZ Z'TUL{.l*j:o

adh.WaitUntilExists();51Testing软件测试网.s3r.M)|1l @@ E*`

//点击Alert对话框的OK按钮51Testing软件测试网c6T(Z+_-i|@6f

adh.OKButton.Click();

/e ]mq vNnuQ$WoL0

ie.WaitForComplete();51Testing软件测试网`K%Gzv;H(vuP

//AlertDialogHandler对象与ie取消关联

2TE!L `'{_X:SZ0

ie.RemoveDialogHandler(adh);

eH'b JY!r v?i0

Console.WriteLine(ie.Button(Find.ById("myButton2")).Value);51Testing软件测试网@;K H z-@([ U{R

Console.ReadLine();51Testing软件测试网-mBp L d{

51Testing软件测试网&Wk-\&{-p?%W$}1Q"mJ

 51Testing软件测试网C"ePZi@O

处理Fileupload弹出框51Testing软件测试网Br:u]W L\q5p

首先创建一个web页,用于演示Fileupload对话框。

\!z4O? U&e5\Nb051Testing软件测试网u;N1u"V(fFH+[(]

<inputid="File1"type="file"/></p>51Testing软件测试网A~;pF P1th

相应的Watin测试代码如下:

qAw%|7av B0

1ej.G1P6X7[0

           IEie =newIE("http://localhost/Test/test2.htm");51Testing软件测试网q%e+tt4Fbdy3l*r

           //打开文件对话框并加载指定文件

l#F4Iz&M!n Ma0

           ie.FileUpload(Find.ById("File1")).Set(@"D:\Data.txt");

PC+Wd"Eu F)a'A7{{"?0
51Testing软件测试网}y0bB;YMKh S

 51Testing软件测试网f*XrX%A~:J


TAG: WatiN Watin

引用 删除 yanmoyixuan   /   2011-07-13 15:04:01
请问如何处理prompt弹出框呢?如下代码:
IE ie = new IE(@"C:\\Documents and Settings\\admin\\Desktop\\prompt.html");
            PromptDialogHandler pdh = new PromptDialogHandler(true);
            ie.Button(Find.ByName("prompt")).ClickNoWait();
之后又该如何做呢?
 

评分:0

我来说两句

wxf_xsfy

wxf_xsfy

自动化测试的拥簇者,善于自动化测试的框架和工具开发,TIB工作室核心成员

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 381749
  • 日志数: 79
  • 图片数: 1
  • 文件数: 1
  • 书签数: 3
  • 建立时间: 2007-09-19
  • 更新时间: 2018-01-30

RSS订阅

Open Toolbar