2012-03-20 15 views
2

私は、アプリケーションを通していくつかのポップアップの内容をテストすることを任されています。すべてのポップアップが何かに似て使用して呼び出されています。私はポップアップを通じてページにアクセスすることができなかったのでWatirを使用して「このページを閉じようとしているウェブページ」メッセージを閉じるには

var win = new Window({ className: "spread", title: "Discussion", 
left: 1, width: 410, height: 300, url: "Discussion.aspx?ID=" + id, 
showEffectOptions: { duration: 0}}) 

を、私が直接ページに移動し始めています。問題は、ページ内の処理が完了した後にページが閉じるように設計されていることです。 (window.close();

ページをテストすると、私は直接ページにアクセスしているので、The webpage you are viewing is trying to close the window. Do you want to close this window?というメッセージが表示されます。

Watir(Watir-webdrivenではなく)を使用してメッセージにアクセスする方法はありますか?はいまたはいいえをクリックしますか?

PS -

UPDATE は、IEの開発者ツールを使用して(。それが重要ならば、私は、メッセージを無効にする方法を見つけることを試みてきたが、無駄にIE8を使用して)、ポップアップルックスを持つ一般のHTML構造以下のような:

browser.div(:class => "spread_close").exists?戻り trueを使用して
<html><body> 
    <iframe><form>... (Main page here) 
    <div class="dialog"> 
    <div class="spread_close" onclick="Window.close()"/> 
    <table><tr><td><iframe> (table is not part of the "spread_close" div) 
     <html><body><form><div><table><tr><td> 
     <textarea name="txtDiscussion" id = "txtDiscussion" > 

browser.text_field(:name => "txtDiscussion").exists?を使用すると、falseが返されます。これはデュアル<html>のためです。

+0

代わりにポップアップの問題でページへのアクセスを解決しようとするとよいでしょうか?私は、これらのエラーメッセージをクリックしようとするよりも簡単に見つけました。 –

+0

どのWatirのバージョンをお使いですか? –

+0

ルビー1.9.3 ワチール2.0.4 私は前にポップアップへのアクセスを取得しようと助けを借りて、ポップアップ(@ChuckvanderLindenのおかげで)を閉じることができるようにアクセスを得ることができたが、それでも助けを借りて、だっいます**ポップアップウィンドウ内のフィールドとボタン**に正常にアクセスできません**。 ( "ポップアップ"は最善の言葉ではないかもしれないが、私が状況について知っている最高のもの)... [リンク](http://stackoverflow.com/questions/8681869/trouble-attaching-to-a-javascript-window -with-watir)(ポップアップを閉じることに関する前の質問へのリンク) – swood

答えて

1

フレームがあります。これはアクセスをブロックする可能性が高いですが、実際にはポップアップではなく、ポップアップやモーダルダイアログをたくさん見るためにスタイルなどを使用する 'ライトボックス' divです。

ウォーターウィキのフレームをどう扱うかを調べて、あなたはあなたのところにいるはずです。