Игнорировать передачу свойства в заголовке REST, если свойство имеет значение null - SOAPUI Groovy

Я использую базу данных в качестве источника данных для передачи свойств и значений моему тестовому сценарию в SoapUI.

В этом случае у меня есть 3 заполнителя, которые я использую в качестве типа заголовка и значений для моего теста остатка. Проблема, с которой я столкнулся, заключается в том, как заставить soapUI игнорировать передачу свойства для типа/значения заголовка, если оно равно NULL из базы данных?

Я обнаружил, что пользовательский интерфейс Soap автоматически пытается отправить свойство и значение заголовка NULL для $header_type_2 и $header_type_value_2, даже если они считываются как NULL.

В необработанном запросе заголовка это выглядит так:

GET https://api.testapi.test.domain.au:443/v1/ttds/events HTTP/1.1
Connection: close
Accept-Encoding: gzip,deflate
User-Agent: AppName/1.0
: 
Authorization: apikey 1233434f7909641458992a7dfebcd3bd311
Host: api.testapi.test.domain.au:443

заметили ':' в 4-й строке? это приводит к тому, что служба возвращает неверный запрос 400.

На снимке экрана ниже показано, как я настроил тестовый шаг GET REST в пользовательском интерфейсе Soap (версия с открытым исходным кодом).

введите здесь описание изображения


person fambo    schedule 20.02.2017    source источник
comment
Можете ли вы показать свой тестовый пример вместо определения интерфейса?   -  person Rao    schedule 20.02.2017


Ответы (1)


На самом деле это хороший вопрос. Обратите внимание, что вы получаете сообщение об ошибке 400 только в том случае, если имя свойства заголовка имеет значение null, а не его значение.

Нелегко «игнорировать» свойство заголовка; вместо этого вы можете назначить ему строку по умолчанию, чтобы он не выдавал ошибок.

Чтобы заменить Null или Empty на что-то более осязаемое, вам нужно использовать встроенные сценарии с вложенными переменными. Итак, для скриншота вашего проекта это будет примерно так:

Заголовок: ${=if ("${header_type_1}"=="" || "${header_type_1}"==null) вернуть "NULL_HEADER_1", иначе вернуть "${header_type_1}"}

Значение: ${header_type_value_1}

Заголовок: ${=if ("${header_type_2}"=="" || "${header_type_2}"==null) вернуть "NULL_HEADER_2", иначе вернуть "${header_type_2}"}

Значение: ${header_type_value_2}

Заголовок: ${=if ("${header_type}"=="" || "${header_type}"==null) вернуть "NULL_HEADER", иначе вернуть "${header_type}"}

Значение: ${header_type_value}

Я протестировал его и работает нормально. Пожалуйста, поставьте мне плюс, если вам понравилосьвведите здесь описание изображения :)

person Payam    schedule 22.02.2017