О программе Postman для тестирования API и для чего она нужна 1С-нику

24.09.19

Интеграция - WEB-интеграция

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

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 и первоначальное создание запросов.

Самое интересное в Postman и то, что отличается от 1С - это различные варианты заполнения тела запроса:

Все возможные варианты запроса можно заполнить в 1С, но правила заполнения тела запроса (то, что задается командой ЗапросHTTP.УстановитьТелоИзСтроки()) в 1С не описываются явно и иногда нужно догадываться, в каком формате нужно заполнить тело.

Пример заполнения тела запроса

 

Соответствие настроек 1С И Postman:

Соответствие настроек 1С И Postman

 

Соответствие настроек 1С И Postman

Соответствие настроек 1С И Postman

Соответствие настроек 1С И Postman

 

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16076    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18147    10    15    

16

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

25200 руб.

28.05.2015    85361    26    51    

50

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12988    33    8    

12

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16605    43    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user774630 24.09.19 18:33 Сейчас в теме
Спасибо за статью.
Программа помогла разобраться, почему не работала доменная аутентификация с себ-сервисом Axapta.

помощью Postman собрал http post-запрос к веб-сервису с ntlm аутентификацией. Он работал нормально.

Аналогичный запрос из 1С не работал.

В Wireshark сравнил оба запроса, обратил внимание что postman для авторизации пытается использовать NTML, а 1С - Kerberos.
Помогло удаление Kerberos на веб-сервере из списка провайдеров аутентификации Windows.
AlexK_2012; SkyHunter; mysm; tumr; asupsam; Daimon; +6 Ответить
2. antonov_i 315 25.09.19 03:07 Сейчас в теме
Хорошая, статья. Спасибо. Тоже начинали с программы Postman и ей аналогичных, но в итоге решили отказаться от графического интерфейса. Когда API начинает расти, то возникает проблема с переносом списка запросов, да и просто с перемещением между запросами. Не говоря уже про возможность автоматизации. В итоге остановились на расширении RestClient (https://marketplace.visualstudio.com/items?itemName=humao.rest-client) для VSCode. Расширение позволяет описывать все запросы в тексте, т.е. достаточно завести отдельный файлик с расширением `.http и описать все необходимые запросы. Например:

POST /api HTTP/1.1
Content-Type: application/json
Authorization: Basic login pass

{
    "id": "222",
    "action": "something"
}
Показать


И при просмотре этого файлика в VSCode напротив каждого запроса будет появляться кнопка "Send Request". Можно сразу отправить запрос и увидеть результат. В общем удобно применять и хранить в git. В итоге мы немного пошли дальше и стали формировать на основании таких файликов таски на написание тестов к API.
strange2007; sogesti; mysm; JohnyDeath; Bazil; botokash; litonchik; budidich; Legavaz; RomanCrow13; +10 Ответить
3. RomanCrow13 111 25.09.19 03:09 Сейчас в теме
Недавно тоже познакомился с Postman, классная вещь! Понравилась тем, что можешь просмотреть тело запроса в конечном виде.
До этого работал с Curl. Но он очень автоматизирован, сам подставляет нужные заголовки и так далее.
Сейчас пытаюсь отправить запрос в телеграм с заголовком Content-type : Multipart form-data, чтобы отправлять файл на сервер и посылать в чат.
SkyHunter; +1 Ответить
4. MORT32Ram 16 25.09.19 07:09 Сейчас в теме
Тема не раскрыта, стало понятно что прога классная и удобная, а вот как ей пользоваться нет=(
Strange Device; +1 Ответить
7. budidich 412 25.09.19 11:12 Сейчас в теме
(4)
прога классная и удобная, а вот как ей пользоваться нет=(

Добавил скриншоты - сопоставление параметров API в 1С и в Postman.
11. MORT32Ram 16 26.09.19 01:58 Сейчас в теме
5. user1166203 25.09.19 09:06 Сейчас в теме
А SoapUI уже не торт?
6. budidich 412 25.09.19 09:56 Сейчас в теме
(5)
SoapUI

Понятия не имею, что такое SoapUI. От вас первый раз слышу.
Если расскажите - будет хорошо.
user774630; +1 Ответить
8. user774630 25.09.19 11:23 Сейчас в теме
(6) Это аналогичная программа.
Что понравилось в SoapUI - удобная работа с SOAP web-сервисами, в т.ч. программа может сама генерировать тестовые запросы на основании wsdl с заполнением обязательных/необязательных полей. Это удобно, если работаешь из 1C с SOAP не с помощью xdto, а через HTTPсоединение и собираешь xml руками.
ДимокШ; mysm; Yashazz; it_tungus; +4 Ответить
14. CodeNull 26.09.19 09:07 Сейчас в теме
(8) SoapUI, это мощное средство предназначенное больше для регрессионного тестирования API. По-моему, для простых случаев и запросов он избыточен.

Как альтернатива - можно использовать еще и JMeter.
9. Dorosh 176 25.09.19 11:25 Сейчас в теме
(5)
А SoapUI уже не торт?


Торт, но с горчинкой. Например отказывается понимать русские буквы. Авторизоваться как "Администратор" не выйдет, изволь создать спецом "Administrator".
it_tungus; +1 Ответить
12. Bizerber 26.09.19 06:22 Сейчас в теме
(5) SoapUI хорош только для SOAP. А если у тебя висит какой то сервис, отдающий по REST API JSONы - лучше постман.
shumvlesu; +1 Ответить
10. iliabvf 25.09.19 19:27 Сейчас в теме
Спасибо за обзор, есть еще SoapUI и Fiddler.
13. Johny_v 140 26.09.19 08:32 Сейчас в теме
По возможностям очень напоминает расширение для Google Chrome - Advanced Rest Client (ARC). Я давно на него перешел при тестировании веб-сервисов. И ничего ставить отдельно не надо. Всегда в браузере подключено.
Прикрепленные файлы:
Aleskey_K; budidich; +2 Ответить
15. CodeNull 26.09.19 09:09 Сейчас в теме
Есть еще и такое: https://chrome.google.com/webstore/detail/restlet-client-rest-api-t/aejoelaoggembcahagimdiliamlcdmfm

Тоже удобный инструмент, значительно экономит время при тесте простых запросов.
CyberCerber; +1 Ответить
16. FesenkoA 57 26.09.19 10:00 Сейчас в теме
21. Aleskey_K 35 30.09.19 11:01 Сейчас в теме
(13) postman тоже вырос из расширения
SkyHunter; +1 Ответить
17. Mortum 26.09.19 14:15 Сейчас в теме
Без постмана как без рук. Можно настроить Environment и одним кликом переключаться между тестовой и рабочей базой. Очень помогает когда надо быстро проверить что-нибудь на рабочей базе.
SkyHunter; +1 Ответить
18. budidich 412 26.09.19 15:50 Сейчас в теме
(17)
Environment

Environment - это что?
19. Yashazz 4730 26.09.19 17:25 Сейчас в теме
Я, канэшн, всё понимаю, но имхо, лучше специально написанной для тестирования одинэсной же обработки - ничего нет. Зачем так корячиться, если можно в том же 1С средствами 1С дёрнуть?
20. budidich 412 26.09.19 17:45 Сейчас в теме
(19) Ну если дергается средствами 1С, то можно дернуть. А вот когда хоть убейся, но не дергается - вот тогда начинаешь продумывать, куда вообще копать - тогда начинаешь перебирать все возможные варианты и смотреть на нюансы, а в специализированных программах нюансов полно и они на виду.
SkyHunter; mivari; Yashazz; +3 Ответить
22. SkyHunter 30.09.19 16:05 Сейчас в теме
(19) Так тут и корячиться не надо, всё уже сделано, только url и параметры подставляй. К тому же, зачастую полезно убрать фактор платформы. О таких инструментах должен знать каждый.
23. triviumfan 93 02.10.19 15:19 Сейчас в теме
Решил скачать и попробовать postman.
Авторизировать получилось. Но дальше все запросы в теле должны содержать ключ "authorisation" и полученное его значение.
В 1с делаю так (и все работает, а в постмане нет):
	Если Соединение = Неопределено Тогда
		Соединение = Новый HTTPСоединение(ИмяСервера,443 , , , , 15, Новый ЗащищенноеСоединениеOpenSSL);
	КонецЕсли;
	
	headers = Новый Соответствие;
	headers.Вставить("Content-Type", "application/json");
	Если Токен = Неопределено Тогда
		ПолучениеТокенаНаСервере();
	КонецЕсли;
	headers.Вставить("Authorization", Токен["token_type"]+ " " + Токен["access_token"]);
	
	HTTPЗапрос = Новый HTTPЗапрос("/api/1.0/" + ИмяЗапроса, headers);
	HTTPОтвет = Соединение.Получить(HTTPЗапрос);
Показать
Прикрепленные файлы:
25. budidich 412 02.10.19 15:25 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
24. budidich 412 02.10.19 15:24 Сейчас в теме
(23) Вроде бы все так. Там, где Имя сервера в постмане перед www. https стоит?
26. triviumfan 93 02.10.19 16:13 Сейчас в теме
(24) тип протокола вообще не указывал. Сейчас указал - результат не поменялся.
27. budidich 412 02.10.19 16:22 Сейчас в теме
(26) Не могу сказать, почему не работает. Я подобную авторизацию делал. Хотел только два момента указать: если Новый ЗащищенноеСоединениеOpenSSL то нужно указывать https перед запросом. И возможно у вас на закладке Autorization что-то стоит, там как я понимаю, ничего не нужно, т.к. авторизация идет через параметр.
28. triviumfan 93 02.10.19 16:29 Сейчас в теме
(27) да я уже все перепробовал, и убрал на этой закладке все, и пробовал указать конкретную авторизацию.. не помогает.
все равно спасибо
29. buganov 200 07.05.21 06:40 Сейчас в теме
А мне Advanced rest client нравится, очень похожи по интерфейсу и по возможностям
30. baracuda 2 11.08.21 16:04 Сейчас в теме
Только ей и пользуюсь)
31. pm74 199 23.08.21 20:20 Сейчас в теме
для mock тестов удобный инструмент mocklab.io
32. budidich 412 24.11.21 17:11 Сейчас в теме
(31)
mocklab.io

Ок, спасибо. Только дошли руки до изучения тестов.
Оставьте свое сообщение