Postman это бесплатное приложение для создания и тестирования API — запросов.
Для чего необходим Postman 1С-нику:
1) Возможность протестировать работу API при помощи не-1С приложения. Часто при тестировании API не удается подключиться к серверу и возникает вопрос: может быть дело в специфических особенностях 1С? Если вы увидите, что 1С к API серверу не подключается, а Postman с похожими параметрами запроса работает — значит дело в особенностях настройки 1С. Если же и Postman-запрос не работает, то нужно читать документацию на API.
2) Возможность разговаривать с не-1Сными программистами на одном языке. Очень много программистов используют Postman и иногда достаточно просто прислать им скриншот Postman-а с настройками, которые не работают и вам ответят, прислав свой скриншот с настройками Postman, которые работают.
Если же начинаешь описывать 1С-ные параметры подключения к API не-1С программисту, он сразу впадает в ступор и говорит, что в 1С не разбирается и у него все работает.
3) Postman имеет более широкие стандартные настройки запросов API, что может натолкнуть вас на мысль о том, как именно нужно сформировать запрос. Например, можно указать различные варианты настроек содержимого тела запроса, что в 1С никак не описывается, а просто предлагается положить текст тела запроса командой УстановитьТелоИзСтроки().
Описание работы с Postman
Postman позволяет создавать коллекции (Группы) запросов и сами запросы и сохранять их. Интерфейс прост и интуитивен:
Самое интересное в Postman и то, что отличается от 1С — это различные варианты заполнения тела запроса:
Все возможные варианты запроса можно заполнить в 1С, но правила заполнения тела запроса (то, что задается командой ЗапросHTTP.УстановитьТелоИзСтроки()) в 1С не описываются явно и иногда нужно догадываться, в каком формате нужно заполнить тело.
Соответствие настроек 1С И Postman:
Спасибо за статью.
Программа помогла разобраться, почему не работала доменная аутентификация с себ-сервисом Axapta.
помощью Postman собрал http post-запрос к веб-сервису с ntlm аутентификацией. Он работал нормально.
Аналогичный запрос из 1С не работал.
В Wireshark сравнил оба запроса, обратил внимание что postman для авторизации пытается использовать NTML, а 1С — Kerberos.
Помогло удаление Kerberos на веб-сервере из списка провайдеров аутентификации Windows.
Хорошая, статья. Спасибо. Тоже начинали с программы Postman и ей аналогичных, но в итоге решили отказаться от графического интерфейса. Когда API начинает расти, то возникает проблема с переносом списка запросов, да и просто с перемещением между запросами. Не говоря уже про возможность автоматизации. В итоге остановились на расширении RestClient (https://marketplace.visualstudio.com/items?itemName=humao.rest-client) для VSCode. Расширение позволяет описывать все запросы в тексте, т.е. достаточно завести отдельный файлик с расширением `.http и описать все необходимые запросы. Например:
Показать
И при просмотре этого файлика в VSCode напротив каждого запроса будет появляться кнопка «Send Request». Можно сразу отправить запрос и увидеть результат. В общем удобно применять и хранить в git. В итоге мы немного пошли дальше и стали формировать на основании таких файликов таски на написание тестов к API.
Недавно тоже познакомился с Postman, классная вещь! Понравилась тем, что можешь просмотреть тело запроса в конечном виде.
До этого работал с Curl. Но он очень автоматизирован, сам подставляет нужные заголовки и так далее.
Сейчас пытаюсь отправить запрос в телеграм с заголовком Content-type : Multipart form-data, чтобы отправлять файл на сервер и посылать в чат.
Тема не раскрыта, стало понятно что прога классная и удобная, а вот как ей пользоваться нет=(
А SoapUI уже не торт?
(5)
Понятия не имею, что такое SoapUI. От вас первый раз слышу.
Если расскажите — будет хорошо.
(4)
Добавил скриншоты — сопоставление параметров API в 1С и в Postman.
(6) Это аналогичная программа.
Что понравилось в SoapUI — удобная работа с SOAP web-сервисами, в т.ч. программа может сама генерировать тестовые запросы на основании wsdl с заполнением обязательных/необязательных полей. Это удобно, если работаешь из 1C с SOAP не с помощью xdto, а через HTTPсоединение и собираешь xml руками.
(5)
Торт, но с горчинкой. Например отказывается понимать русские буквы. Авторизоваться как «Администратор» не выйдет, изволь создать спецом «Administrator».
Спасибо за обзор, есть еще SoapUI и Fiddler.
(7) Спасибо!
(5) SoapUI хорош только для SOAP. А если у тебя висит какой то сервис, отдающий по REST API JSONы — лучше постман.
По возможностям очень напоминает расширение для Google Chrome — Advanced Rest Client (ARC). Я давно на него перешел при тестировании веб-сервисов. И ничего ставить отдельно не надо. Всегда в браузере подключено.
(8) SoapUI, это мощное средство предназначенное больше для регрессионного тестирования API. По-моему, для простых случаев и запросов он избыточен.
Как альтернатива — можно использовать еще и JMeter.
Есть еще и такое:https://chrome.google.com/webstore/detail/restlet-client-rest-api-t/aejoelaoggembcahagimdiliamlcdmfm
Тоже удобный инструмент, значительно экономит время при тесте простых запросов.
(15) Для Оперы есть еще проще: restmanhttps://addons.opera.com/ru/extensions/details/restman/
Без постмана как без рук. Можно настроить Environment и одним кликом переключаться между тестовой и рабочей базой. Очень помогает когда надо быстро проверить что-нибудь на рабочей базе.
(17)
Environment — это что?
Я, канэшн, всё понимаю, но имхо, лучше специально написанной для тестирования одинэсной же обработки — ничего нет. Зачем так корячиться, если можно в том же 1С средствами 1С дёрнуть?
(19) Ну если дергается средствами 1С, то можно дернуть. А вот когда хоть убейся, но не дергается — вот тогда начинаешь продумывать, куда вообще копать — тогда начинаешь перебирать все возможные варианты и смотреть на нюансы, а в специализированных программах нюансов полно и они на виду.
(13) postman тоже вырос из расширения
(19) Так тут и корячиться не надо, всё уже сделано, только url и параметры подставляй. К тому же, зачастую полезно убрать фактор платформы. О таких инструментах должен знать каждый.
Решил скачать и попробовать postman.
Авторизировать получилось. Но дальше все запросы в теле должны содержать ключ «authorisation» и полученное его значение.
В 1с делаю так (и все работает, а в постмане нет):
Показать
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
(24) тип протокола вообще не указывал. Сейчас указал — результат не поменялся.
(26) Не могу сказать, почему не работает. Я подобную авторизацию делал. Хотел только два момента указать: если Новый ЗащищенноеСоединениеOpenSSL то нужно указывать https перед запросом. И возможно у вас на закладке Autorization что-то стоит, там как я понимаю, ничего не нужно, т.к. авторизация идет через параметр.
(27) да я уже все перепробовал, и убрал на этой закладке все, и пробовал указать конкретную авторизацию.. не помогает.
все равно спасибо