Я использую assertThat, чтобы проверить поле ответа B 1 = жестко закодированный текстовый результат в настоящее время. как использовать assertThat ответ B поле 1 = ответ поле A 1 (из ключевого слова A)? так что мне не нужно писать много тестов для жесткого кодирования результата assert.
пример: ключевое слово A: POST msg A и получить ответ A для проверки содержимого
@Keyword
def POSTA def dataFile){
JsonBuilder ItemBuilder = new JsonBuilder()
JsonSlurper jsonSlurper = new JsonSlurper()
ExcelData data = findTestData(dataFile)
def date = new Date()
for (def index : (1..data.getRowNumbers())) {
def TestItemId = data.getValue('ItemId', index) + "/" + data.getValue('ItemCode', index)
ItemBuilder({
ItemId(TestItemId)
name(data.getValue('ItemId', index))
Id(data.getValue('ItemCode', index))
created(date)
lastModified(date)
})
String ItemPostJson = JsonOutput.prettyPrint(ItemBuilder.toString())
println(ItemPostJson)
def item = ((findTestObject('Web Service Request/item-service/ApiItemPost')) as RequestObject)
item.setBodyContent(new HttpTextBodyContent(ItemPostJson))
//POST ITEM
def response = WS.sendRequestAndVerify(item)
if(dataFile == "Data Files/ItemData"){
println(response.statusCode)
println(response.responseText)
WS.verifyResponseStatusCode(response, 201)
}
else if(dataFile == "Data Files/ItemDataPost400"){
println(response.responseText)
WS.verifyResponseStatusCode(response, 400)
}
}
}
новый контрольный пример B, POST msg B и получение ответа B
def NewItemMessage = consumeMessage("NewItem")
def responseList = new JsonSlurper().parseText(consumeMessage.getResponseText())
def decoded = new JsonSlurper().parseText(new String(responseList[0].value.decodeBase64()))
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(decoded)))
assertThat(decoded.item.ItemId).isEqualTo("123")
assertThat(decoded.item.name).isEqualTo("Test fdfs")
def consumeMessage(String topic) {
WS.sendRequestAndVerify(findTestObject('Kafka/1b-Subscribe NewItem Topic', [('topic_name') : topic]))
return consumeMessage = WS.sendRequestAndVerify(findTestObject('Kafka/1c-Consume Message from NewItem Topic'))
}