私はSoapUIツールを初めて使用しています。私はSoapUIバージョン5.3.0を使用しています。私のアプリケーションには、RESTfulなAPIがいくつかあります。私は以下のようにJSONリクエストの形でWebサービスへの複数のリクエストを送信しています:SoapUI - 負荷テスト-Assertion:SoapUIを使用した負荷テストへのアサーションの追加
{
"app_key":"i8gAVDwcAq40n2kAv6Ox+w==",
"targetDB":"${#TestCase#TARGET_DB}",
"createNew": "true"
}
を次のようにWebサービスからの応答は次のとおりです。
<StartDataExtractResult xmlns="http://schemas.datacontract.org/2004/07/AriaTechCore" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<StatusCode>1</StatusCode>
<StatusText>success</StatusText>
<RequestNumber>101</RequestNumber>
</StartDataExtractResult>
私が生成するのGroovyスクリプトを使用しています「TARGETDB」のための動的な名前を次のように
def targetdb = ((context.expand('${#TestCase#TARGET_DB}') ?: 100) as Integer) + 1
log.info "Target db for current request : ${targetdb}"
context.testCase.setPropertyValue('TARGET_DB', targetdb.toString())
を私は要求に「101」と「TARGETDB」の名前を渡すと目に101タグの作成になりますように、私のテストデータを設計しています応答。 負荷テストが正常に実行されています。
ここで、StatusCodeタグに「1」、StatusTextタグに「success」が含まれているかどうかを確認するために、それぞれの負荷テスト応答にいくつかのアサーションを追加します。& RequestNumberタグに変数 "$ {#TestCase# TARGET_DB} "(Request jsonで送信)。
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
holder.namespaces["ns1"] = "http://schemas.datacontract.org/2004/07/AriaTechCore"
def nodeStatusCode = holder.getNodeValue("//ns1:StatusCode")
assert nodeStatusCode != null
if(nodeStatusCode=="1")
{ log.info "Pass" }
else
{ log.info "Fail"}
def nodeStatusText = holder.getNodeValue("//ns1:StatusText")
assert nodeStatusText != null
if(nodeStatusText=="success")
{ log.info "Pass" }
else
{ log.info "Fail"}
def nodeRequestNumber = holder.getNodeValue("//ns1:RequestNumber")
assert nodeRequestNumber != null
if(nodeRequestNumber=="${TARGET_DB}")
{ log.info "Pass" }
else
{ log.info "Fail"}
をしかし、私はエラーを取得しています::次のように私は、スクリプトのアサーションを書いたことを達成するために
No such Property: TARGET_DB for class: Script 53
することは誰も私をしてください助けることはできますか?ここで
質問は何ですか?上記のアサーションを追加しましたが、動作していませんか?あなたはそれらを追加する方法を知らないのですか?どうか明らかにしてください。 – Rao
StatusCodeが "1"で、StatusTextが "成功"で値が "101"であることを検証するWebService(Load Test Suiteによって生成されている)からの10 Request/Responseのアサーションを作成します。私は単一のリクエスト/レスポンスのアサーションを追加しました。しかし今、私はすべてのリクエスト/レスポンスのためにそれをしたいと思います。 – DebanjanB
さて、上記のアサーションをリクエストステップ(あなたの場合は2番目)に入れることができます。負荷テストを実行すると、それらは毎回実行されるため、後で実行する必要はありません。 – Rao