2011-09-16 4 views
1

私はWatiNテストフレームワークを初めて使用しています。 JavaScriptメニュードロップダウンリンクでサイトページをテストする際に問題があります。WatiNのすべてのJavaScriptメニューリンクをテストするには?

私はこのタスクに対処する方法がわかりません..... すべてのリンクを処理し、各ページに入り、さらにテストを実行する必要があります。

私はあなたが私の質問は、私の主なアイデアは、JavaScriptを実行することであると私はwatinをするための最良の方法だと思うので、私のテストサイトは、JavaScriptのメニューのすべての種類が含まれ http://www.andrewsellick.com/examples/sliding-side-bar/# このサイトの例を考えてみ誤解と思っている

最小限の使用法を持っているRhinoライブラリを使用していない限り.....

私は数十箇所のサイトをテストしなければならないのでリンクを見つけなければならず、それらのリンクを抽出するプロセスを自動化する必要があります自動的に少なくともすべてのリンクを開くことができるはずです

どのようにあなたのお返事ありがとうございます。しかし、それは私の問題を解決しませんでした......

答えて

0

あなたは、ナビゲーションメカニズムを実装するのが楽しみですか、またはそれぞれのリンクが有効かどうかを確認する自動リンクチェッカーを実装するつもりですか?

まず、テストフレームワークの一部としてナビゲーションメカニズムを実装し、このフレームワークを使用してテストをそれぞれのページに移動させることをお勧めします。

良い例が

http://fmair.blogspot.com/2011/03/watin-on-crack.html こっち掲載されていますし、単にパイプで区切られた文字列を受け入れる一つの機能を持っており、UI上のリンクを識別し、さらにナビゲートするためにそれらをクリックすることができます。

よろしく、

アシシュNarmen

0

具体的な答え:ここに挙げた例のリンクについては

は、スライドメニューとフラッシュ/出力各リンクのテキストを拡大するコードです。

メニューが読み込まれるのに少し時間がかかるので、後に眠りがあります。私はちょうど空気から2500ミリメートルを選びました、そして、それは毎回動作するようでした。待つより良いアイテムを見つけることは非常に良い考えです。

ie.GoTo("http://www.andrewsellick.com/examples/sliding-side-bar/#"); 

System.Threading.Thread.Sleep(2500); 
ie.Link("sideBarTab").Click(); 

foreach (ListItem currItem in ie.Div("sideBarContents").Lists[0].ListItems) 
{ 
    currItem.Links[0].Flash(2); 
    Console.WriteLine("link text: " + currItem.Links[0].Text); 
} 

注:厳密に言えば、スライドメニューはリンクが存在するために展開する必要はなく、隠れているだけです。メニューを展開することは、ユーザーが行うことであるため、良い考えです。

使用:IE8とWatiN 2。指定したページの各リンクを取得するには1

ジェネリック答え

、あなたはリンクコレクション

例を繰り返すだろう:(テストしていない、メモリから書かれた)

foreach (Link currLink in ie.Links) 
{ 
    //do stuff 
} 

これでいくつかのリンクのポップアップの問題が発生します。一部のリンクはメニューを展開します。一部のリンクは別のページに移動します。いくつかのリンクなどなど他にも、各フレームを反復する必要があります。私はそれらが自分のエリアとみなされ、上記のforeachはフレーム内のリンクを見ません。

あなたのアプリケーションが良い名前付け/ CSS分類/何かで書かれているので、比較的一般的な解決法が考えられるので、その名前/ CSSに基づいてリンクが何をするかを知ることができますクラス/何か。

+0

私は、このソリューションがうまくいかない特定の要素を知っていない限り、そのサイトを唯一の例として与えています。私はwatin自体がそれらのメニューを識別し、クリックすると思っていた......あなたのコードのおかげでどのように:) –

+0

編集を参照してください。 「汎用」セクションを追加しました。 – OCary

+0

あなたの答えはjavascriptメニューではないhrefタグでリンクが言及されている場合には機能しますが、リンクコレクションを使ってこれらのドロップダウンメニューをつかむことはできません... :( –

関連する問題