のプロパティ展開で使用されていないプロパティは、私があるsoapUI 3.6.1を使用していると私はこのようなテスト構造を持つSOAPインタフェースをテストしたい:あるsoapUI:テストケース
MyWorkspace
MyProject
TestSuite
TestCase Single
TestStep 1
TestCase Loop
Properties #1
Groovy #1
Run TestCase Single
Properties #2
Groovy #2
Run TestCase Single
TestCase Single
は束が含まれています同じアカウントIDで実行する必要があるリクエストの数。 TestCase Loop
は、別のアカウントIDを使用してTestCase Single
と呼びます。 Properties *
はaccount-idを変更するはずです。
MyProject
プロパティaccountId
値1234で設定これは、テストケースの単一試験、すなわちTestCase Single
のデフォルト値として動作する必要があります。
Properties #1
とProperties #2
はaccountId
異なる値で指定されています。
TestStep 1
を単独でまたはTestCase Loop
の一部として実行することを意図しています。
TestStep 1
は、以下のウェブサービスに送信されたパラメータであり、一般的なSOAPボディを持っています。このような
<accId>${='${#accountId}' != '' ? '${#accountId}' : ${#Project#accountId}}</accId>
Groovy #1
とGroovy #2
外観:
log.info('Using account ' + (context.expand('${#accountId}') != '' ? context.expand('${#accountId}') : context.expand('${#Project#accountId}')));
私の問題は、今ということですGroovyスクリプトは正しい値accountId
(つまり、ループ内の正しい値)を書き込みますが、TestStep 1
は常にプロジェクトの値を使用します。 TestStep 1
にループの値を使用したいと思います。私もTestStep 1
に以下を入れてデバッグ目的のために
:
<!--
{#Project#accountId}: ${#Project#accountId}
{#TestSuite#accountId}: ${#TestSuite#accountId}
{#TestRunContext#accountId}: ${#TestRunContext#accountId}
{#TestRun#accountId}: ${#TestRun#accountId}
{#TestCase#accountId}: ${#TestCase#accountId}
{#TestStep#accountId}: ${#TestStep#accountId}
{#MockService#accountId}: ${#MockService#accountId}
{#Global#accountId}: ${#Global#accountId}
{#System#accountId}: ${#System#accountId}
{#Env#accountId}: ${#Env#accountId}
{#accountId}: ${#accountId}
context.accountId: ${=context.accountId}
modelItem.accountId: ${=modelItem.accountId}
request.accountId: ${=request.accountId}
context.expand(): ${=context.expand('${#accountId}')}
-->
私はWiresharkのでネットワークトラフィックをトレースするだけ${#Project#accountId}
が値を返したことに気づきました。
私はここで間違っていますか? <accId>
-elementをコーディングして、リモートホストに正しい値を送信するにはどうすればよいですか?