Загрузка файлов с помощью инструмента Karate REST API - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь загрузить изображения на определенный слабый канал, используя каратэ, но не повезло, я пробовал несколько раз с разными шагами, но все равно получил 200 откликов, и изображение не отображается в канале.Пытался опубликовать текстовый контент и успешно нашел текст на канале.

Ниже приведены две попытки, следующие за документацией по каратэ:

@post
Feature: Post images

Background: 
* url 'https://slack.com/api/files.upload'
* def req_params= {token: 'xxxxxxx',channels:'team',filename:'from Karate',pretty:'1'}

Scenario: upload image
Given path 'api','files'
And params req_headers
And multipart file myFile = { read: 'thumb.jpg', filename: 
'upload-name.jpg', contentType: 'image/jpg' }
And multipart field message = 'image upload test'
And request req_headers
When method post
Then status 200

ИЛИ

Given path 'files','binary'
And param req_params
And request read('thumb.jpg')
When method post
Then status 200

Я что-то упустил?Попробовал те же примеры, что и в демо-репозитории GitHub для каратэ с загрузкой pdf и jpg, но не повезло.

Примечание: работал с использованием Slack API UI.

1 Ответ

0 голосов
/ 22 мая 2018

Вы, кажется, путаете вещи, нет необходимости в теле request, когда вы используете multipart.Ваши заголовки / параметры выглядят не так.Также на основе документа здесь , имя поля загрузки файла - file.Попробуйте это:

Scenario: upload image
Given url 'https://slack.com/api/files.upload'
And multipart file file = { read: 'thumb.jpg', filename: 
'upload-name.jpg', contentType: 'image/jpg' }
And multipart field token = 'xxxx-xxxxxxxxx-xxxx'
When method post
Then status 200

Если это не сработает, воспользуйтесь помощью того, кто может понять, как интерпретировать документ Slack API.Или сделайте тест Почтовика работающим, тогда вы легко поймете, что пропустили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...