2017-03-06 5 views
0

occupanysequenceorderのすべてのインスタンスがこのフィールドに入力されたリクエストと一致するかどうかを確認したいと思います。私はlog.errorを行うと、それは、この出力:要求は1を入力するようにSoapUIのスクリプトアサーションがjsonレスポンスで失敗しています

ERROR:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 
ERROR:1 

、それはすべてのインスタンスは、それが上記した、1を等しくする必要があるリストを意味します。しかし、私がアサート実行すると:

assert roominfo.occupancySequenceOrder.flatten() == occupancysequenceorder_request 

それは偽の主張をスローし、私がなぜわかりませんの?どのようにすれば、スクリプトアサーションに関連するチェックを実行することができますか。私はアサートを assert roominfo.occupancySequenceOrder.flatten().contains(occupancysequenceorder_request)に変更して渡しますが、実際にはoccupanysequenceorderのすべてのインスタンスが入力された要求に一致するように正しいチェックを行うかどうかはわかりません。以下は

コードです:

json.testregions.each { roominfo -> 
    log.error roominfo.occupancySequenceOrder.flatten() 
    log.error occupancysequenceorder_request 
    assert roominfo.occupancySequenceOrder.flatten() == occupancysequenceorder_request 
} 
+0

は、あなたが最終的に問題を働いたことがありますか? – Opal

答えて

1

OPの他の質問を見てみるとhere

からそのデータをあなたはScript Assertion下に試すことができます。

//Check if the response is not empty 
assert context.response, "Response is empty or null" 
//Modify the value of the quest or read it thru properties if you want 
def requestValue = 1 

def json = new groovy.json.JsonSlurper().parseText(context.response) 

json.regions.each { region -> 
    region.hotels.each { hotel -> 
     hotel.roomInformation. each { room -> 
      assert room.occupancySequenceOrder == requestValue, "Value did not match for room ${room.hotelRoomId}" 
     } 
    } 
} 
+0

@ BruceyBandit、上記を試してみる機会がありますか? – Rao

+1

Meh ..私は空にぶら下がっている質問を残すことをとても嫌っています。 – Opal

0

むしろ試してみてください。

roominfo.occupancySequenceOrder.every { it == 1 } 

flatten()はフラットListには影響しません。

また試みることがあります。

roominfo.occupancySequenceOrder.unique() == [1] 

あなたがリストを比較したい場合。

+0

どちらの方法もオパールでは機能しませんでしたが、依然として偽を引き出します – BruceyBandit

+1

答えは質問に提供されたデータに直接関連しています。適切なデータを提供することがより適切であり、それに応じた回答が可能になります。 – Rao

+0

@ BruceyBanditデータタイプを確認してください。 'Integer'と' String'を比較する可能性があります。 – Opal

関連する問題