четверг, 2 июля 2020 г.

Как отправить фото в формате base64 через Soap Ui

Чтобы отправить фото в формате base64, нужно:
  1. Выбрать изображение
  2. Загрузить через любой сервис конвертирования изображения в base64 строку, например, https://www.base64-image.de/
  3. Скопировать полученную строку целиком, включая начало: «data:image/png;base64,iVBORw0KG...»
  4. Вставить в параметр для передачи фото в формате base64
Профит! Инструкция одинаковая для REST и SOAP. 

Но смысл этого поста, разумеется, не в инструкции. А в том, чтобы сразу ее применить! Попробовать пощупать самостоятельно. Сделать это можно в API бесплатной системы Shop, метод create или update.


Мы будем вызывать метод create через Soap Ui, проверяя SOAP API. Для этого нужно:
1. Создать новый SOAP-проект

2. Заполнить поля:


3. Открыть запрос метода create. Soap ui при импорте WSDL сам создает «заглушки» методов, так что просто открываем созданный им «Request 1».


4. Заполнить поля форма, пока без photo. Вот пример заполнения:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rpc="http://foo.bar/rpcliteralservice">
   <soapenv:Header/>
   <soapenv:Body>
      <rpc:create>
         <name>Товарчик</name>
         <section>Платья</section>
         <description>С фото</description>
         <color>Красный</color>
         <size>42</size>
         <price>1000</price>
         <params>параметр_1</params>
         <photo>?</photo>
      </rpc:create>
   </soapenv:Body>
</soapenv:Envelope>

5. Выбрать изображение. Можно взять любое из готового набора тестовых данных.

6. Конвертировать изображение в формат base64 через любой сервис конвертации. Например, через https://www.base64-image.de/

Чтобы в этом сервисе получить строку base64, нужно нажать «</> show code»


И скопировать раздел «For use in <img> elements». Для этого нажимаем «select all», а потом «copy to clipboard»:


7. Подставить эту строку в запрос. Целиком, включая начало «data:image/png;base64,iVBORw0KG...»


Всё!

Отправляем запрос и смотрим в ответе:
  • с каким ID создался новый товар (для проверки в интерфейсе)
  • заполнено ли поле photo
У меня товар создан с id = 76



Теперь можно проверить в интерфейсе. Открываем карточку любого товара и меняем в URL конец, подставляя свой ID товара. 

В моем случае получилась ссылка http://shop.bugred.ru/shop/item/76. Фоточка есть!



Всё работает Smile :) 
PS — статья написана в помощь студентам моего курса «Тестирование SOAP API»

1 комментарий:

  1. Вот контактные данные г-на Бенджамина, адрес электронной почты, lfdsloans@outlook.com. / Или WhatsApp 1 989-394-3740, который помог мне с займом в 90 000,00 евро, чтобы начать свой бизнес, и я очень благодарен, мне было очень тяжело, пытаясь найти способ, как мать-одиночка, вещи не были легкими со мной, но с помощью мистера Бенджамина улыбнулся мне в лицо, когда я смотрю, как растет и развивается мой бизнес. Я знаю, вы можете удивиться, почему я ставлю такие вещи здесь, но я действительно должен выразить свою благодарность, чтобы любой, кто ищет финансовая помощь или преодоление трудностей с этим бизнесом или желание запустить бизнес-проект могут позаботиться об этом и надеяться на выход из затруднений. Спасибо.

    ОтветитьУдалить