Извлеките значение из XML-ответа и установите его как глобальную переменную в Postman
Я пытаюсь извлечь значение из успешного запроса API, который отправляет ответ XML, используя Postman. Вот как я пытался поймать значение, которое мне нужно из ответа.
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
postman.setGlobalVariable("Active_SAML", jsonObject.bankidCollectResponse.SAMLReferens);
console.log(pm.globals.get("Active_SAML"));
Этот сценарий, написанный на вкладке "Тесты" и вывод из консоли, приведен ниже.
Но когда я запускаю программу, я получаю следующую ошибку.
Произошла ошибка при оценке тестового сценария: TypeError: Невозможно прочитать свойство 'SAMLReferens' из неопределенного
Я не уверен, где я делаю это неправильно. Кто-нибудь, пожалуйста, укажите мне это?
1 ответ
Решение
Благодаря комментарию @ChathurangaChandrasekara я смог выяснить формат, который они ожидали.
// Convert XML output to JSON format
var jsonObject = xml2Json(responseBody);
// Since the converted JSON format is having Envelope and Body tags we need following format
var activeSamlVal = jsonObject['SOAP-ENV:Envelope']['SOAP-ENV:Body'].bankidCollectResponse.SAMLReferens;
console.log(activeSamlVal)
// Assigning the extracted value in to a global variable
pm.globals.set("SAML_key", activeSamlVal);
console.log(pm.globals.get("SAML_key"));