0

NUnit と Selenium2 の組み合わせを使用して、ASP.NET Web サイトのテストに成功しています。問題はありません。テスト Web サイトに対してテストを実行しています。テスト システムとテスト対象のサイトは別のものですが、同じマシン上にある場合もあります。これらは HTTP 経由で通信します。

私がやりたいことの 1 つは、テスト ターゲット サイトからサイトマップ (複数あります) を取得し、例外をチェックするだけで、各ページを順番に自動的にヒットすることです。

明らかに、.sitemap ファイルを HTTP 経由でプルすることはできません。しかし、HTTP 経由で ASP.NET .sitemap ファイルの XML バージョンを返す、GoogleSitemaps 用の小さな ashx ハンドラーが既にあります。ログインしていない場合は、「セキュリティ トリム」バージョンのサイトマップが表示されます。ただし、ログインすると、このハンドラーは、役割に応じて表示できるサイト マップを返します。

問題は次のとおりです。-Selenium2からログインおよびログアウトでき、セキュリティトリミングは完全に機能します.Selenium2は、すべきものを見ることができ、すべきでないものを見ることができません. - しかし、ログインしていても、ログインしていないユーザーのバージョンのサイト マップが表示されます。トリミングされています。それでも、私はログインしており、テスト ユーザーには、切り取られたものを正確に見る権限があります。

私は考えています.ASP.NETが私がHTTP経由で「ログイン」していることを「認識する」方法は、(一見すると)セキュリティトークンとセッションIDを含むCookieである必要があります。これにより、Web ページは、テスト ユーザーが誰であるか、およびそのユーザーが認証されていることを「認識」します。ハンドラーであるashxは、おそらく Cookie を取得していません。十分な時間があれば、Fiddler で盗聴できると思いますが、Cookie がないことを証明したとしても、そこに取得する方法がわかりません。明らかに、私new FirefoxDriver();は Cookie を aspx ページに渡していますが、ashx ページはどうなっていますか?

とにかく、多分私は間違った木の吠え声を上げています。この種のことを機能させることができた人はいますか?私のサイトマップは、Selenium2 からでも正常に動作することに注意してください。この質問は、ハンドラーを使用する場合の Selenium2 とサイトマップのトリミングに関するものです。

4

0 に答える 0