Webアプリケーションの単純な煙のテストを作成しようとしています。HtmlUnit WebClientを使用してすべての要求に基本認証資格情報を渡す
通常、アプリケーションはフォームベースの認証を使用しますが、基本認証も受け入れますが、デフォルトはフォームベースの認証なので、認証は必須ではなく、ログインフォームを送信するだけです。私は
WebClient webClient = new WebClient();
DefaultCredentialsProvider creds = new DefaultCredentialsProvider();
// Set some example credentials
creds.addCredentials("usr", "pwd");
// And now add the provider to the webClient instance
webClient.setCredentialsProvider(creds);
webClient.getPage("<some url>")
を使用して、基本的な認証ヘッダを送信しようとする試験において
Iはまた、WebRequestクラスのオブジェクトに認証情報を詰め込むとwebClient.getPage
方法にそれを通過しようとしました。
しかし、サーバー上で私は認証ヘッダーを取得しません。私はWebClientが決して発生しないサーバーによって明示的に要求される場合、認証ヘッダーを送信するだけだと思う。
WebClientに、最初のものを含むすべての要求に認証ヘッダーを送信させるにはどうすればよいですか?
のような認証ヘッダーを作成することができます - - これはアプリ内のページに表示されますか?私はちょうどアプリケーションによってではなく、いくつかのドメインのセキュリティによって挿入されたブラウザ認証ダイアログでサイトをテストするいくつかの古いコードを掘り出しました。 –
これはアプリケーションの実装方法です。基本認証は、テストやアプリとのインターフェイスをとる他のマシンのためだけです。私たちは、ブラウザで生成された醜い基本認証フォームをユーザーが見られることを望んでいません。 –