主張 SoapUI: スクリプト、XQuery、XPath 型

⚡ スマートサマリー

主張 SoapUI これらは、Webサービスの応答が正しいかどうかを判断するチェックポイントであり、単に実行されるリクエストを、実際の検証可能なコンテンツに対して実際に合格または不合格となるテストに変えます。

  • 🔘 カテゴリー: プロパティコンテンツ、コンプライアンス/ステータス/標準、スクリプト、SLA、JMS、およびセキュリティ。
  • ☑️ 含まれています。 正規表現をサポートし、レスポンス内に文字列が存在することを確認します。
  • ✅ 含まれていないもの: 文字列が存在しないことを確認します。エラー トークンや漏洩したフィールドに役立ちます。
  • 🧪 XPathマッチ: まず名前空間を宣言し、次に1つのノードを対象としてその値を比較します。
  • 🛠️ XQueryマッチ: 本来であれば数百ものXPathチェックが必要となる、繰り返し出現するノードセットを検証します。
  • 📊 スクリプト: Groovy アサーションは、動的な応答やセットアップまたはティアダウンのロジックを処理します。
  • 🔍 トラブルシューティング: ほとんどのエラーは、名前空間の誤りやコロンの代わりにドットを使用している構文が原因です。

主張 SoapUI

アサーションとは何ですか?

アサーションとは、何かを肯定したり主張したりする行為を意味します。 チェック ポイントまたは検証ポイントとして解釈することもできます。

リクエストがWebサーバーに送信されると、レスポンスが受信されます。レスポンスに期待するデータが含まれているかどうかを検証する必要があります。レスポンスを検証するには、アサーションを使用する必要があります。アサーションがない場合、テストステップはサービスが応答したことを証明するだけで、正しく応答したことを証明しません。そのため、すべてのテストステップでアサーションが必要になります。 APIテスト 少なくとも1つは携帯すべきだ。

アサーションの種類

返答を表明する方法は様々ありますが、ここでは一般的に使用されている方法に焦点を当てます。 SoapUI レスポンスを検証する際のアサーションタイプ。以下はオープンソース版で利用可能なカテゴリです。 SoapUI.

  1. プロパティコンテンツ
  2. 適合状況基準
  3. スクリプト
  4. SLA
  5. JMS
  6. セキュリティ

下のスクリーンショットに示すように、ダイアログではすべての主張がこれらのカテゴリに分類されます。

主張カテゴリは、 SoapUI アサーションダイアログの追加
主張の種類 SoapUI

上記以外にも、Pro版にはJDBCアサーション機能が組み込まれており、これを使用してWebサービスがデータベースを正しく更新したかどうかを検証できます。

バージョンノート: 現在 SoapUI ドキュメントには、 JDBC 上記のカテゴリに加えてカテゴリ(JDBCステータスとJDBCタイムアウト)と、 メッセージ内容 プロパティコンテンツ内のアサーションで、よりリッチな XML 比較を実現します。ここで「Pro」と呼ばれる商用版は現在販売されています。 ReadyAPI SmartBearによって開発されているため、新しいビルドではメニューのラベルの表示が異なる場合がありますが、アサーションの動作は同じままです。

アサーションを含む

指定された文字列の存在を検索します。 正規表現もサポートしています。

WSDL リクエストを使用して、前のチュートリアルと同じ例を続けます。 http://www.dneonline.com/calculator.asmxまだそのプロジェクトを構築していない場合は、 プロジェクト、テストスイート、テストケースの作成 最初。

ステップ1:デフォルトでは、アサーションは存在しません。

  1. アサーションの数は「アサーション」タブに表示されます。
  2. 新しいアサーションを追加するには、[新しいアサーションの追加] ボタンをクリックします。

SoapUI アサーション タブにアサーションが表示されず、「新しいアサーションを追加」ボタンが表示される

ステップ2:今、

  1. アサーション カテゴリを選択します。
  2. アサーション タイプを選択します。
  3. 「追加」をクリックします

アサーションのカテゴリとタイプを選択した状態で、アサーションを追加するダイアログが表示されます。

ステップ3:レスポンスに文字列「46」が存在するかどうかを確認します。「OK」をクリックしてください。

注: 大文字と小文字を無視して正規表現を追加することもできます。

値46が入力されたアサーション設定ダイアログが含まれています

ステップ4:追加するとすぐにアサーションが実行され、有効か無効かが表示されます。

アサーションタブでContainsアサーションがVALIDと報告されています

ステップ 5: 次に、「Contains Assertion in」の内容を変更するとします。 SoapUI「47」に変更して、何が起こるか見てみましょう。

Containsアサーションの内容を46から47に編集する

ステップ6:アサーションが実行され、結果がユーザーに返されます。レスポンスに文字列「47」が含まれていないため、アサーションは失敗しました。

アサーション タブで Contains アサーションが失敗したと報告されています

アサーションを含まない

その対となる機能は逆の動作をします。指定された文字列が存在しないかどうかを検索します。正規表現にも対応しています。

ステップ 1: 「新しいアサーションを追加」ボタンをクリックした後、

  1. アサーション カテゴリを選択します。
  2. アサーション タイプを選択します。この場合は「含まれていない」です。
  3. 「追加」をクリックします

「NOT Contains」を選択した状態でアサーションダイアログを追加します。

ステップ2:レスポンスに文字列「intA」が存在するかどうかを確認します。文字列「FromCurrency」を入力し、「OK」をクリックします。

FromCurrency という文字列が入力された「含まない」アサーションダイアログ

ステップ3:アサーションが追加されるとすぐに実行され、結果が表示されます。これまでに2つのアサーションを追加したため、両方のアサーションが実行され、結果が表示されます。

アサーション タブには、含む結果と含まない結果の両方が表示されます。

ステップ4:次に、「含まれないアサーション」の内容を変更して、何が起こるか見てみましょう。「AddResult」という文字列が存在しないことを確認します。

トークン AddResult をチェックするアサーションダイアログが含まれています

ステップ 5: 文字列「AddResult」は実際にレスポンスに含まれているため、以下に示すように「NOT Contains」アサーションは失敗します。

AddResultが存在するため、Not Containsアサーションが失敗します。

XPath 一致アサーション

文字列マッチングは単純なので、次のアサーションでは代わりに単一のノードを対象とします。XPath式を使用して、対象ノードとその値を選択します。 XPathは、XMLドキュメントからノードを選択するためのXMLクエリ言語です。

ステップ 1: 「新しいアサーションを追加」ボタンをクリックした後、

  1. アサーション カテゴリを選択します。
  2. アサーション タイプを選択します。この場合は「XPath Match」です。
  3. 「追加」をクリックします

XPath マッチを選択した状態でアサーションを追加するダイアログ

ステップ2:XPathを追加するウィンドウが開きます。

追加する前に SoapUI XPath では、名前空間を宣言する必要があります。XML 名前空間は、Uniform Resource Identifier (URI) 参照によって識別される名前の集合であり、XML ドキュメントでは要素名および属性名として使用されます。 SoapUI XPathアサーション。

XML名前空間を宣言するには、「宣言」ボタンをクリックするだけで自動的に宣言されます。もちろん、手動で名前空間を宣言することも可能です。

名前空間を宣言した後、作成した名前空間を使用して XPath を参照する必要があります。

「宣言」ボタンをクリックすると、URIが2つあるため、2つの名前空間が表示されます。そのうちの1つはスキーマです。 URL そしてもう一方とは、実際のウェブサービスに対応するものです。 URLXPathを参照する際には、スキーマの名前空間ではなく、Webサービスが配置されている実際の名前空間を使用する必要があります。宣言された行は、以下に示すようにXPathボックスの上部に表示されます。

XPathアサーションウィンドウ内で宣言されたsoapおよびns1名前空間

名前空間soap='http://schemas.xmlsoap.org/soap/envelope/'を宣言します。

名前空間 ns1='http://tempuri.org/' を宣言します。

「宣言」をクリックした直後のXPathアサーションウィンドウ

ステップ3:次に、検証する必要のあるXMLノードのXPathを入力する必要があります。

//ns1:AddResult で囲まれたノードの値を返します。 & ns1 は、「http://tempuri.org/」を指す宣言された名前空間に対応します。

XML を入力した後、現在の応答からの値が今後の比較のために選択されるように、[現在から選択] をクリックする必要があります。

「現在選択されているものから選択」で入力された XPath 式

ステップ4:これまでのところ、

  1. 名前空間を宣言した後、検証する必要がある XML ノードの XPath を入力しました。
  2. 現在の値を期待値にするには、「現在から選択」をクリックする必要があります。
  3. 現在の値がユーザーに表示され、必要に応じて変更できます。
  4. [保存]をクリックします。

期待値と保存ボタンを表示するXPathマッチ構成

ステップ 5: 追加されたアサーション SoapUI 以下のように表示されます。

XPath マッチ アサーションが追加されたことを示すアサーション タブ

アサーションのスクリプト作成

このアサーション手法は、何百ものアサーションを管理および維持することが非常に難しいため、最も広く使用されています。

SoapUI どちらかを使用します Groovy スクリプトまたは Javaスクリプト スクリプトのアサーション用。スクリプト技術は開発に採用されています。ping SOAPをテストするためのフレームワーク。スクリプトによるアサーションは、以下の状況で使用されます。

  • スクリプトを使用すると、セットアップメソッドとティアダウンメソッドを使用して、テストケースの実行前と実行後にいくつかの操作を実行できます。セットアップは、特定のメソッドを実行する前に実行される手順(例:オブジェクトの作成と初期化)であり、ティアダウンは、メソッドの実行後に実行される手順(例:オブジェクトの破棄とクリーンアップ)です。この機能は他のアサーションタイプでは利用できず、コーディングによってのみ実現できます。
  • この機能を使うと、プロジェクトの開閉操作を実行したり、プロジェクト関連の設定を初期化またはクリーンアップしたり、環境変数を操作したりすることができ、スクリプト作成時に非常に役立ちます。
  • これは、動的な応答コンテンツをアサートするのに役立ちます。
  • スクリプトアサーションは、事前に定義されていないユーザー定義アサーションを作成するために使用されます。 SoapUI.

スクリプトのアサーションを実証するために SoapUIそこで、以前に作成したテストケース「Add」と計算機WSDLを使用します。

ステップ1:Groovyスクリプトを追加する手順は、他のアサーションと同様ですが、このアサーションは定義済みのものではなく、ユーザー定義のアサーションであるため、組み込みのものよりも柔軟性が高い点が異なります。

アサーションを追加する必要があるテスト ステップを選択します。

選択されたテストステップ SoapUI アサーションを追加する前のナビゲーター

以下に示すように、「アサーションを追加」ボタンをクリックします。

テストステップのアサーションツールバーに「アサーションを追加」ボタンがあります。

ステップ2:次に、「アサーション」カテゴリを選択します。

  1. この場合はスクリプトです。
  2. 選択 SoapUI スクリプトアサーションであり、それに関連付けられたサブタイプはありません。
  3. 「追加」をクリックします。

「スクリプト」カテゴリを選択した状態で「アサーションの追加」ダイアログを開く

ステップ3:スクリプトダイアログが開きます。ここでユーザーは、応答XMLを検証するためのユーザー定義スクリプトを記述できます。

空の SoapUI スクリプトアサーションエディタダイアログ

ステップ4:次に、コンバージョン率を検証するためのGroovyスクリプトを作成しましょう。スクリプトはコメント付きで以下に添付されています。 Java スクリプトまたは Groovy 独自のスクリプトを作成する前にスクリプトを作成してください。

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. 「実行」ボタンをクリックして実行をトリガーします。
  2. スクリプトの出力は、[出力] ペインに表示されます。 コンバージョン値と最終結果 (合格または不合格) の両方が出力されます。
  3. 「スクリプトアサーションに合格しました」という情報が表示されます。[OK] をクリックします。

注: スクリプトの構文が正しい限り、最後の情報ポップアップには常に「スクリプト アサーションが合格しました」というメッセージが表示されます。 スクリプト内のあなたの主張とは何の相関関係もありません。

スクリプトアサーション出力ペインに結果値とパスが印刷されます

[OK]をクリックします。

ステップ 5: これで、アサーション タブに、このテスト スイートに追加したすべてのアサーションと、それぞれのステータスが表示されます。

アサーション タブには、テスト スイートに追加されたすべてのアサーションが表示されます。

ステップ6:今すぐ

  1. ナビゲーターツリーからテストスイートを選択します
  2. 「実行」ボタンをクリックします
  3. テスト スイート全体の結果が表示されます。

すべてのアサーションを実行した後のテストスイート実行結果

XQueryマッチアサーション

これは、XQuery 式を使用してターゲット プロパティからコンテンツを選択します。XQuery アサーションをよりよく理解するためには、はるかに大きなレスポンス XML が必要です。 SoapUI以下に、別のWSDLをインポートしてみましょう。http://www.webservicex.net/medicareSupplier.asmx?WSDL

注意: このチュートリアルで使用したパブリックなwebservicex.netデモエンドポイントは、現在では確実にアクセスできないため、以下のリクエストとレスポンスのスクリーンショットは参考例として残されています。繰り返しノードセットを返すWSDLであれば、XQueryアサーションは全く同じ方法で実行されます。

ステップ 1: 既存のプロジェクトを右クリックし、「WSDL の追加」を選択します。

右クリックメニュー SoapUI WSDLを追加するプロジェクトを表示

ステップ2:WSDLの追加ダイアログが開きます。その他のオプションはデフォルトのままにして、「OK」ボタンをクリックします。

デフォルトのインポートオプションを備えたWSDLダイアログを追加します

ステップ3:すべての操作は以下のように一覧表示されます。

ナビゲーターツリーにリストされているメディケアサプライヤーWSDLオペレーション

ステップ4:次に テストケース 作成したのと同じテストスイート内で テスト 通貨換算機。

既存のテストスイートに新しいテストケースオプションを追加

ステップ5:テストケースの名前を入力し、「OK」ボタンをクリックします。

「新規テストケース」ダイアログにテストケース名を入力します。

ステップ6:テストケースは以下のように作成されます。

新しく作成されたテストケース SoapUI ナビゲーターツリー

ステップ7:以下に示すように、「SOAPテストリクエスト」タイプの新しいテストステップを追加します。

「SOAPテストリクエスト」を選択した状態で「ステップの追加」メニューを追加

ステップ8:テストステップの名前を入力します。ここでは、より分かりやすい「Supplier_by_City」としましょう。「OK」をクリックします。

新しいテストステップの名前を Supplier_by_City とします

ステップ9: Opera検証したい項目を選択します。この場合は、「MedicareSupplierSoap -> GetSupplierByCity」です。「OK」をクリックします。

テストステップにGetSupplierByCity操作を選択します。

ステップ10:テストケースの名前を入力し、「OK」をクリックします。

SOAPテストリクエスト名を確認します

ステップ11:リクエストXMLアウトラインは以下のように表示されます。

生成されたGetSupplierByCityリクエストのXMLアウトライン

ステップ12:次に、「ニューヨーク」市のすべてのサプライヤー情報を検索します。

これを行うには、コードに次の行を追加します。

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

以下のWSDL URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

リクエストXMLを、都市名としてニューヨークを使用して編集しました。

ステップ13:テストを実行すると、以下の応答が得られます。

GetSupplierByCity レスポンスにサプライヤーレコードの重複が含まれている

ステップ14:ここでは、すべての仕入先番号を検証する必要があるとします。数百ものXPathアサーションが必要となるため、XPathアサーションを使用することはできません。したがって、この場合はXQueryの使用が不可欠です。

XQuery アサーションは、本質的に反復的な XML 応答のグループを検証するのに役立ちます。

XQueryが反復処理する繰り返しSupplierDataノード

ステップ15:次に「アサーションを追加」をクリックします。

  1. 「アサーション カテゴリ」 (この場合はプロパティ コンテンツ) を選択します。
  2. アサーション タイプとして「XQuery アサーション」を選択します。
  3. 「追加」をクリックします。

プロパティコンテンツカテゴリで選択されたXQueryアサーション

ステップ 16: XPath アサーションと同様に、名前空間を宣言する必要があります。

  1. 「宣言」ボタンをクリックすると自動的に許可されます SoapUI 名前空間を宣言するには、[宣言]ボタンをクリックします。[宣言]ボタンをクリックすると、「代わりにスキーマから名前空間を宣言してください」というメッセージが表示されたポップアップが表示されます。[はい]をクリックして、以下に示すように続行してください。
  2. すべてのサプライヤー番号を取得するには、XPath クエリを作成する必要があります。それを <SupplierNumber> 内に配置し、 タグ。
  3. 「現在から選択」をクリックすると、現在の応答から実行されます。
  4. 「現在から選択」をクリックすると、すべての仕入先番号が表示されます。
  5. [保存]をクリックします。

スキーマ確認ポップアップから名前空間を宣言する

注: 「宣言ボタン」をクリックすると、異なる結果になる場合があります URL's は名前空間宣言として使用されますが、コーディングにおいては実際の Web サービスの場所の名前空間が考慮されます。

名前空間宣言を含む完成したXQuery式は次のようになります。

// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

すべてのサプライヤー番号を一覧表示するXQuery式ウィンドウ

ステップ17:XQueryアサーションが実行され、最終結果が以下に示すように「アサーション」パネルに表示されます。これで、すべてのサプライヤー番号情報を検証するXQueryアサーションが正常に追加されました。このアサーションは、リクエストがWebサーバーに送信されるたびに、実際の値と比較されます。

注: 実際の値は表示されません。すべての実際の値が期待値と同じ場合は VALID と表示され、そうでない場合は 'Failed' と表示されます。

XQueryアサーションの結果を表示するアサーションパネル

組み込みアサーションをいつ使用するか?

ポイントアンドクリック方式とスクリプト方式の両方が説明されているので、実際にはどちらを選ぶべきかという問題が残ります。

  • 応答が短い場合、組み込みアサーションのいずれかを使用して検証できる場合。
  • Web サーバーから送信される応答が常に静的である場合は、組み込みアサーションを使用することもできます。 動的である場合、組み込みアサーションを使用してそれをアサートすることはできません。
  • タイムアウト アサーションやセキュリティ アサーションなどの組み込みアサーションの使用が避けられない場合。
  • 組み込みアサーションは、テストを繰り返す必要がない XNUMX 回限りの使用には十分に適しています。

アサーションのオプション

作成されたアサーションは、以下で強調表示されているコントロール パネルを使用して最適に制御できます。

アサーションツールボックスコントロールパネル SoapUI

作成されたアサーションにより、テスターはアサーション ツールボックスから次の項目を構成できるようになります。

オプション 詳細説明
主張を上に移動アイコン 選択したアサーションの順序が上に移動します。
アサーションを下に移動アイコン 選択したアサーションの順序が下に移動します。
アサーションアイコンを削除 選択したアサーションを削除します
アサーションアイコンを設定または編集する 選択したアサーションを再構成/編集します。

以下は、Pro バージョンでのみ利用可能な機能です。 SoapUI現在は出荷されています ReadyAPIPro版では、アサーションをグループ化する機能も備えているため、作成したアサーションにさらに検証レイヤーを追加できます。

  • AND: すべての主張は有効な主張として評価され、結果としてグループ条件は合格となります。
  • OR: グループがPASSED条件を満たすためには、グループ内の少なくとも1つのアサーションがVALIDである必要があります。
  • プロバージョンでも可能 アサーションの複製このオプションを使用すると、テスターはアサーションを同じプロジェクトまたは別のプロジェクト内の別のテストステップにコピーすることを許可できます。
  • アサーションの無効化/有効化:このオプションを使用すると、グループ化されたアサーションまたはグループ化されていないアサーションを無効化または有効化できます。アサーションが無効化されると、グレー表示され、テストケースの実行時に無効化されたアサーションは実行されません。
  • アサーションのグループ解除:テスターが希望すれば、グループ化されたアサーションのグループを解除できます。

さまざまなアサーション タイプで使用できるメソッドの完全なリスト

以下の表は、上記で説明したすべてのアサーションを、「アサーションの追加」ダイアログに表示されるカテゴリごとにグループ化してまとめたものです。

アサートメカニズム 詳細説明
プロパティのコンテンツ
含まれています 指定された文字列の存在を検索します。 正規表現もサポートしています。
含まない 指定した文字列が存在しないかを検索します。 正規表現もサポートしています。
XPath の一致 XPath 式を使用して、ターゲット ノードとその値を選択します。
XQueryの一致 XQuery式を使用して、対象プロパティからコンテンツを選択します。
コンプライアンス、ステータス、基準
HTTP すべてのリソースをダウンロード ダウンロード後に HTML ドキュメントを検証し、HTML を含むすべてのプロパティを保持します。
無効なHTTPステータス Codes HTML 応答に、定義されたコードのリストにないステータス コードが含まれているかどうかを確認します。
SOAP フォールトではない 最後に受信したメッセージが SOAP フォールトではないかどうかを検証します。 これが SOAP テスト ステップにのみ適用されることは明らかです。
スキーマのコンプライアンス 最後に受信したメッセージが WSDL または WADL 標準スキーマ定義に準拠しているかどうかを検証します。 SOAP および REST テスト ステップに適しています。
SOAP フォルト 最後に受信したメッセージが SOAP フォールトかどうかを確認します。 これは、「NOT SOAP」障害アサーションの逆です。
SOAP応答 最後に受信した応答が有効な SOAP 応答であるかどうかを検証し、SOAP テスト リクエスト ステップにのみ有効です。
有効なHTTPステータス Codes HTMLレスポンスに、定義済みのコードリストに含まれるステータスコードが含まれているかどうかを確認します。これは「無効なHTTPステータス」の逆です。 Codes'の主張。
WS アドレッシング要求 最後に受信したリクエストに適切な WS-Addressing ヘッダーが含まれているかどうかを確認します。
WS アドレス指定応答 最後に受信した応答に適切な WS-Addressing ヘッダーが含まれているかどうかを確認します。
WS-セキュリティステータス 最後に受信したメッセージに有効な WS-Security ヘッダーが含まれており、SOAP リクエストに対してのみ有効であるかどうかを検証します。
スクリプト
スクリプトアサーション ユーザーがカスタム スクリプトを実行してユーザー定義の検証を実行できるようにします。
SLA
応答SLA 最後に受信した応答の応答時間が定義された制限内であるかどうかを検証します。
JMS
JMSステータス テスト ステップの JMS リクエストが正常に実行され、JMS エンドポイントを使用したテスト ステップに対して良好な状態を維持しているかどうかを検証します。
JMSタイムアウト テスト ステップの JMS 応答に指定された期間を超えていないかどうかを検証します。
セキュリティ
機密情報の漏洩 応答メッセージがターゲット システムに関する機密情報を公開していないかどうかを確認します。 このアサーションは、REST、SOAP、および HTTP のテスト ステップに使用できます。

上記のアサーションを含む SOAPUI プロジェクトをダウンロードします

一般的なエラーとトラブルシューティング

ほとんどのアサーション失敗 trac小さな間違いの集合に戻るので、式を書き直す前にこれらを確認してください。

  • 正しい名前空間を使用してください。名前空間は URL ウェブサービスが設置されている場所。
  • 開発中にエラーが発生した場合ping スクリプトのアサーションでは、変数の内容を出力するために「log.info」を使用します。
  • 目的の出力が得られなかった場合は、リクエストに有効な入力が渡​​されているかどうかを確認してください。

例えば、通貨換算ツールで、整数ではない「x」を「intA」に入力すると、出力に「SOAP-Client」というエラーコードが表示されます。これは、クライアント側から渡されるパラメータに問題があることを意味します。無効な値を含むリクエストが最初に表示されます。

SoapUI intAに無効な非整数値を渡したリクエスト

応答では、結果ではなくエラーコードが返されます。以下に示すように。

SOAPクライアントのエラーコードが返されました SoapUI レスポンスエディター

XPathおよびXQueryアサーションを使用する際は、正しい構文を使用していることを確認してください。上記のアサーションを使用する際に、コロン(:)の代わりにドット(.)を使用しないでください。構文は //namespace:Tagname であり、//namespace.tagname ではありません。ドット(.)を使用すると、タグ名が正しければ「現在のレスポンスに一致するものはありません」というメッセージが表示される可能性があります。

現在の応答に一致するものはありません。エラーは、XPath構文の誤りによって発生しました。

よくあるご質問

どんな数字でも構いません。 SoapUI サンプラーテストステップの実行後、そのステップに付随するすべてのアサーションを適用し、それらのアサーションのうち1つでも失敗した場合、テストケースビューでそのステップは失敗とマークされます。

XMLメッセージを想定されるドキュメントとノードごとに比較することで、ペイロード全体を単一の文字列として扱うのではなく、選択されたフィールドを無視したり、緩やかに照合したりすることが可能になります。

オープンソース SoapUI 対象となるのは、プロパティコンテンツ、コンプライアンス、スクリプト、SLA、JMS、およびセキュリティです。 ReadyAPI グループを追加pingクローン作成、JDBCチェック、制御の有効化または無効化。

AIモデルはサンプル応答を読み取り、XPathまたはXQuery式を提案し、境界値を提案し、実行ごとに変化するフィールドをフラグ付けすることで、手書きの名前空間と式の作業を大幅に削減します。

Yes. 副操縦士 オートコンプリート Groovyユーティリティと XmlHolder の定型コード。構文的に有効なスクリプトは、比較結果に関わらず「スクリプトのアサーションに合格」と報告するため、必ず最初にスクリプトを実行してください。

はい。アサーションコンテンツフィールドはプロパティ展開をサポートしているため、期待値をリテラルではなくプロジェクトまたはテストケースのプロパティから取得できます。これにより、1つのアサーションを複数の環境で再利用できます。

アサーションが失敗すると、テストケースビューでそのテストステップが失敗としてマークされ、ウィンドウ下部のテスト実行ログに、失敗の詳細を含む対応する「FAILED」エントリが書き込まれます。

含む、含まない、XPath マッチ、XQuery マッチ、レスポンス SLA、スクリプト、有効および無効な HTTP ステータス コード、機密情報の漏洩、および WADL または推論されたスキーマに対するスキーマ準拠。