亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 >
Web 測試實踐 for .Net ?WatiN
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/5 13:51:43 ] 推薦標簽:

2、對于alert 、confirm 等javascript彈出的窗口的捕獲。

背景:一個系統(tǒng)經(jīng)常會使用以上這些javascript來彈出一些提示信息,如果捕獲這些窗口,并模擬用戶點擊這些窗口上的OK或Cancel按鈕?

方案:其實WatiN在默認情況下,都會自動地去點擊這些彈出式窗口上的Cancel按鈕的,但如果用戶要明確點擊哪些事件的話可以對IE對象增加一個“查看器”()

//錯誤事例
        protected void f()
        {
            WatiN.Core.DialogHandlers.ConfirmDialogHandler dh = new WatiN.Core.DialogHandlers.ConfirmDialogHandler();

            ie.AddDialogHandler(dh);//這句增加了一個控制器
            /**/
            /*
                 假設(shè)yzp_dic_btn_cls這個按鈕的onclick事件會用JS彈出一個Confirm窗口。
                 錯誤,測會在這里彈出一個窗口,然后等待用戶進行操作(隨便點擊一個按鈕才繼續(xù)執(zhí)行)
                 然后因為用戶已經(jīng)點擊了按鈕關(guān)閉 彈出窗口。下一句的dh.WaitUntilExists(3);將會超時,拋出異常
                 */
            doc.Button(Find.ByName("yzp_dic_btn_cls")).Click();
            dh.WaitUntilExists(3);//等待彈出窗口的出來。多等三秒。
            dh.OKButton.Click();//點擊這個窗口的OK按鈕
            ie.RemoveDialogHandler(dh);
            doc.Button(Find.ByName("btn_close")).Click();
        }

正確的示例應(yīng)該是:

protected void f()
        {
            WatiN.Core.DialogHandlers.ConfirmDialogHandler dh = new WatiN.Core.DialogHandlers.ConfirmDialogHandler();

            ie.AddDialogHandler(dh);
            doc.Button(Find.ByName("yzp_dic_btn_cls")).ClickNoWait();//把原來的Click改成這個方法。
            dh.WaitUntilExists(3);//等待彈出窗口的出來。多等三秒。
            dh.OKButton.Click();//點擊這個窗口的OK按鈕
            ie.RemoveDialogHandler(dh);
            doc.Button(Find.ByName("btn_close")).Click();
        }

3、關(guān)于用JS彈出的Modal窗口(模式窗口)的處理.

背景:有些地方需要彈出模式窗口來處理數(shù)據(jù)。

方解:當點擊了彈出模式窗口的按鈕或連接后馬上用IE對像的HtmlDialogs屬生來獲取模式窗口。

         protected void f()
        {
            //假設(shè)下面這行代碼會彈出一個模式窗口把原來的Click改成這個方法。
            //記住這里要用ClickNoWait而不能用Click,否則在模式窗口關(guān)閉之前代碼不會繼續(xù)執(zhí)行。
            ie.Button(Find.ByName("yzp_dic_btn_cls")).ClickNoWait();
            ie.HtmlDialogs[ie.HtmlDialogs.Length - 1].TextField(Find.ByName("Q")).Value = "Hello";
            ie.HtmlDialogs[ie.HtmlDialogs.Length - 1].Button(Find.ByName("btn_query")).Click();
        }

總結(jié)

這個框架還是比較簡單,主要要主意的事情是HTML元素的Click與ClickNoWait方法的區(qū)別。還有對于輸入框,是直接設(shè)置它的Value還是調(diào)用TypeText或AppendText方法模擬用戶手工輸入內(nèi)容。前者不會激發(fā)該控件的任何JS事件,而后者會激KeyDown、KeyUP等事件。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 97超级碰 | 天天夜夜人人 | 视频黄色免费 | 欧美日韩中文国产 | 尤物视频一区 | 性亚洲| 成年人在线免费观看网站 | 中文字幕在线成人免费看 | 免费看黄在线网站 | 天天操狠狠 | 亚洲欧美中文v日韩v在线 | 黄色肉肉视频 | 成人免费网站久久久 | 日韩精品欧美高清区 | 天天插天天透 | 特级黄a三级三级三级 | 亚洲综合在线成人一区 | 男人操女人在线观看 | 亚洲一区影音先锋色资源 | 免费一看一级毛片全播放 | 成人青草亚洲国产 | 特一级毛片 | 青青青国产依人在线视频97 | a级特黄毛片免费观看 | 黄色一级大片免费看 | 天堂在线视频精品 | 成人污视频网站 | 国产成社区在线视频观看 | 一级片免 | 在线免费看黄色 | 成人在线a| 五月天婷婷视频 | va欧美| 夜夜夜夜曰天天天天拍国产 | 免费观看的毛片 | 亚洲欧美日韩中另类在线 | 免费的污视频 | 国产成人综合亚洲一区 | 日皮视频免费观看 | 亚洲精品日本高清中文字幕 | 99re最新地址精品视频 |