大文字と小文字を区別しないはずの Web サービスがあります。したがって、'foo' と 'FOO' の検索で同じ結果が必要です。2 つの異なる文字列パラメーターの応答を比較するアサーションを作成する最良の方法は何ですか? ありがとうございました!
質問する
3486 次
1 に答える
1
2つの結果を比較するつもりはまったくありません。テストは、受け取った応答をテストするだけです。したがって、各応答を同じようにテストする場合、応答が一致することを確認することになります。
soapUI オープン ソースを使用する場合、データを除いてまったく同じである 2 つのテストを作成し、おそらくテスト ケース プロパティを使用します。リクエストとレスポンスのアサーションは同じですが、データは抽出されます。
soapUI Pro を使用している場合、データ シートを使用する 1 つのテスト ケースを使用できます。これは、今後の保守が非常に簡単になりますが、費用がかかります。
テストで正確に何をアサートするかを知りたい場合は、要件を調べて、アサートするのに重要な部分を決定する必要があります。答えがリクエスト全体である場合、soap エンベロープ全体に対する単純な xpath マッチが機能します。
必要に応じて、groovy が答えです。次のようなものが機能すると思います。
def rawRequest = context.expand( '${Teststepname#RawRequest#declare namespace soapenv=\'http://schemas.xmlsoap.org/soap/envelope/\'; //soapenv:Body[1]}' )
def rawRequest2 = context.expand( '${Teststepname2#RawRequest#declare namespace soapenv=\'http://schemas.xmlsoap.org/soap/envelope/\'; //soapenv:Body[1]}' )
if (rawRequest == rawRequest2) {
assert true
}
else {
assert false
}
于 2012-09-04T03:20:49.083 に答える