2011-08-23 13 views
27

SoapUIプロジェクトのすべての要求に対してHTTP基本認証を設定する方法はありますか?すべての要求に対してHTTP基本認証を設定する

私はTestSuite内のすべてのリクエストに対して実行できることは知っていますが、すべてのTestSuites内のすべてのリクエストに対してどのように行うかを理解できません。

+0

Webサーバーの設定でHTTP基本認証を設定しない特別な理由はありますか? – Oswald

+0

サーバーで認証が有効になっています。クライアントとしてSoapUIを使用して認証できません。しかし、私は毎回TestSuiteごとにリクエストごとに認証を設定する必要があります。プロジェクト内のすべてのリクエストに対して1回セットアップすることができます。 – DisscCoder

答えて

7

これを行うにはいくつかの方法があります:エンドポイントレベルで

  1. 設定の資格情報。もちろんこれは、そのエンドポイントが使用されるすべてのテストステップで使用されます。

  2. テストケースレベルで資格情報を設定します(キーアイコンをクリックします)。資格情報は各テストステップに伝播します。 SOAPUIで

  3. 使用カスタムプロジェクトのプロパティは、あなたのカスタムプロパティ(ユーザ名/パスワード)をつかむために、各テストステップに認証]タブでプロパティの展開を使用し、その後、資格情報を格納するための http://www.soapui.org/Scripting-Properties/working-with-properties.html
    http://www.soapui.org/Scripting-Properties/property-expansion.html

+2

ステップ1はどのように行われますか?エンドポイントに資格証明を直接追加するにはどうすればよいですか? –

+2

2と3はテストスイートでのみ動作し、サービス定義の要求オブジェクトでは動作しません。 また、すべてのメソッドに入り、authを設定せずに1は動作しません。すべてのメソッドにそれをまだアクティブ化しなければならない場合、エンドポイント定義に入れるのはかなり無意味です。 認証資格情報が提供されていれば、常に認証を行う仕組みがない理由はわかりませんが、SBの誰も実際に自分の製品を使用している人は誰もいないと確信しています。 –

40

5.0以上であれば、左側のナビゲーションウィンドウからサービスのbasicHttpBindingに設定することができます(これはインターフェイスだと思います)(これはすべてのメソッドの親であり、プロジェクトの直接の子です)。

インターフェイス名を右クリックし、[Show Interface Viewer]を選択します。次に、[サービスエンドポイント]タブに移動します。そこにあなたの認証情報を入れてください。これで、サービス内のすべてのメソッドに対して認証を指定する必要がなくなりました。 ReadyAPIで

+3

これは最も簡単な答えです。ありがとうございました!なぜこれがSoapUIでもっと明白でないのか分かりません... – Tim

+2

誰でもこれがRESTプロジェクト/エンドポイントで動作することを確認しますか?ここにauth情報を置くと 'ClientProtocolException'が出ますが、個々のリクエストメッセージに個別に追加すれば同じ認証がうまく動作します。 – dbreaux

+0

私はRedmine REST APIにアクセスするためにそれを使用しています。ナビゲーションペインで、サービスノード(サービスのURLを含む)を右クリックし、「Show Service Viewer」を選択します。サービスビューアで、[サービスエンドポイント]タブを選択し、ユーザー名とパスワードのフィールドを入力します。私は "モード"についてはわかりませんが、私はCOMPLEMENTを使用しています。その後、リクエストごとに「認証」タブを選択し、「基本」を指定します。ユーザー名とパスワードのフィールドを空にします。認証ヘッダーを強制的に(サーバーからの挑戦を待たずに) "事前にプリエンプティブに認証する"をクリックします。 – jramos

0

(SOAP UIプロ)バージョン2.2.0:[プロジェクト]タブで

、上部に、Auth Manager

はこのマネージャであり、Auth Repositoryタブに認証プロファイルを作成することは、適切なusernameおよびpasswordである。 自分のプロフィールを選択し、authorization method列で、あなたの資格情報を(私はトップ1を使用)を適用したいから必要な上位レベルを選択して、空白のDomainのままにしてAuth ManagerタブでAuthenticate Pre-emptively

を設定します。 '子への拡張'要求では 'はい'と表示されますが、それらはすべて「継承元の親」の状態に切り替える必要があります。

プロジェクトからTestSuiteを生成すると、すべての要求は親から継承され、プロファイルに設定した資格情報が適用されます。

関連する問題