2012-01-09 9 views
2

したがって、私は現在作業中のサイトに対してこれらのSelenium IDEテストを実行しています。テストが完了したら、少しでもクリーンアップをしたい場合を除いて、テスト自体に関するすべてがうまく動作しています。私のMVC3 Razorベースのサイトでは、私のコントローラからJsonResultを取得する関数を持つJavaScriptファイルがあります。そのコントローラは、Selenium IDEが処理できなかったデータベースのクリーンアップを処理します。Selenium IDEを使用してJavaScriptファイル内の関数を呼び出す

しかし、私はこれを行う方法に関するドキュメントを見つけるのは難しいです。私はJavaScript{ myJavascriptGoesHere }をテストの行の値の1つとして使うことができると知っていますが、私のクリーンアップ機能を見つける方法を見つけることができません。

Selenium IDEでもこのようなことができますか?

もしそれになると、別のビューでクリーンアップを処理できますが、は本当にが可能なら避けたいと思っています。

ありがとうございます!

答えて

0

これは私のために働く。

IJavaScriptExecutor js = driver as IJavaScriptExecutor; 
    string title = (string)js.ExecuteScript("myJavascriptGoesHere"); 

ここで使用する前にJavaScriptを有効にしてください。

1

Selenium IDEのテストページにある独自のJavaScript関数を実行するには、ウィンドウオブジェクトからアクセスする必要があります。あなたは、インスタンスのためにstoreEvalのための参照を見れば、それは言う:、デフォルトでは、スニペットは 「セレン」オブジェクト自体のコンテキストで実行されますので、これはSeleniumのオブジェクトを参照します

注意。 ウィンドウを使用してアプリケーションのウィンドウを参照します(例: window.document.getElementById( 'foo')

myFunc()。あなたはそれをwindow.myFunc()と呼ぶ必要があります。

これは、実際にフォームを送信せずにクライアント側の検証を行う場合に非常に便利です。さまざまな無効で有効なフォームフィールド値をテストする場合

runScriptを使用する場合は、既にウィンドウのコンテキストで実行されているはずです。

関連する問題