2016-11-18 8 views
-1

で開始します。応答値が特定のテキストで始まるかどうかを確認するために、応答をアサートしようとしています。私は、関数startsWithを使ってみましたが、SOPAUIスクリプトアサーションではうまくいかないようです。アサートの応答は、

これは私がしようとしたものです。ここで

import groovy.json.JsonSlurper 

//grab the response 
def ResponseMessage = messageExchange.response.responseContent.records 
//define a JsonSlurper 
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage) 
//log.info jsonSlurper 

assert jsonSlurper.startsWith("Text") 

はJSONレスポンス

{ 
    "Name": "Natalie", 
    "message": "What are you doing" 
} 

である私は、ドキュメントから "NAT"

+2

可能性のある重複した[SOAPUI Groovyの\を[REPONSEを主張\]で始まります](http://stackoverflow.com/questions/40663725/soapui-groovy-assert-reponse-開始と一緒に) – doelleri

+1

新しい質問をしないで、古い質問を編集してください。 – doelleri

+0

@protea 'JsonSlurper()。parseText()'は 'lists'と' maps'のデータ構造体を返しますので、 'startsWith'を直接使うことはできません。あなたは何を達成しようとしていますか?あなたのjsonのいくつかのキーが 'Text'で始まっていることを確認したいのですか?あなたに 'json'レスポンスを提供してください。そうすれば、疑問が明らかになるでしょう:')。 – albciff

答えて

0

Name開始JsonSlurper().parseText(String text)リターンかどうかを確認したいです:

maps

データ構造ので、あなたが直接startsWithを使用することはできません。あなたが望むものを実現するには、パス内の目的のオブジェクトに移動し、そこにstartsWithを使用する必要があります。必見のような何かがあなたのケースのために働く:の

import groovy.json.JsonSlurper  

def jsonStr = '{ "Name": "Natalie", "message": "What are you doing" }' 

def jsonSlurper = new JsonSlurper().parseText(jsonStr) 
assert jsonSlurper.Name.startsWith("Nat") 
+0

が動作します。どうもありがとう。 – protea

+0

@proteaあなたは大歓迎です:) – albciff