C#SeleniumテストからHTTPonly Cookieを削除する方法はありますか?
-
04-10-2019 - |
質問
HTTPonlyフラグがセットされたCookieを削除する必要があるC#セレンテストのセットがあります。
残念ながら DefaultSelenium.GetCookie()
と DefaultSelenium.DeleteCookie()
コマンドは、httponlyフラグセットがあるため、Cookieにアクセスできません。私はこれを手で旗を削除し、それらのいずれかの方法のいずれかへの後続の呼び出しが問題のCookieを操作できることを確認することでこれを確認しました。
Selenium .NETクライアントドライバーを介してこれを行う他の方法はありますか?
すべてのアイデアを歓迎します!
解決
クライアントドライバーを介してこれを行うことができなかったため、代替方法を見つけなければなりませんでした。幸いなことに、テスト中のWebアプリには、セッションCookieとのやり取り(アクセスしようとしていたHTTPonly Cookie)とのやり取りを可能にするテストページの選択があるため、代わりにそれらのページを自動化することで目標を達成することができました。
この問題に遭遇する他の人のために、良いことがあります ここで答えてください httponlyがどのようにasp.netに燃やされるかについて。
さらに、 これはとても答えます アプリのweb.configを介してhttponlyを操作する方法を指摘します。
テスト目的で申請を変更する意思がある人は誰でもチェックアウトする必要があります この回避策, 、基本的にGlobal.asaxのSession_startメソッドを変更して、クライアントスクリプトがアクセスできるようにHTTPonlyフラグを削除します。ただし、この種の回避策は、テスト環境でのみ使用する必要があります。これは、HTTPonlyが閉じて導入されたセキュリティホール、つまりXSSの脆弱性を開くためです。ジェフ・アトウッドはそれについて良いブログ投稿を書きました ここ.