Robot Framework REST-запрос «multipart / form-data» с несколькими параметрами - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь использовать запросы библиотеки для загрузки некоторых файлов, цель состоит в том, чтобы добиться этого:

------WebKitFormBoundary61N9vqJ7380nh6iv
Content-Disposition: form-data; name="files"; filename="photo-2.jpeg"
Content-Type: image/jpeg


------WebKitFormBoundary61N9vqJ7380nh6iv
Content-Disposition: form-data; name="fileId"

b3duLWZpbGVzL2ZmZmZmZmZmYTQyNDVmODAvMjAxNTY*
------WebKitFormBoundary61N9vqJ7380nh6iv
Content-Disposition: form-data; name="extract"

false
------WebKitFormBoundary61N9vqJ7380nh6iv--

и теперь у меня есть это, согласно это :

  ${data}=    Evaluate    {'files': open("C:/testautomation/resources/Assets/photo-2.jpeg", 'r+b'), 'extract': (None, 'false'), 'fileId': (None, 'b3duLWZpbGVzL2ZmZmZmZmZmYTQyNDVmODAvMjAxNTY*')}
  log  ${data}
  ${result}=  Post Request  rest  ${url}  headers=${HEADERS}  files=${data}

Я ДУМАЮ , что единственный бит, который мне не хватает, это "Content-Type: image / jpeg" из первой части, но как же я могу добавить это?В настоящее время файл загружен, но он не считается файлом изображения.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Создайте ресурсы python и вызовите его через среду робота: Create a python resources и вызовите его через среду робота

Вызовите параметры из robotframework:
загрузка многокомпонентных файлов после запроса $ {headers} $ {url} resources / files / upload_file / testfile1_upload.pdf

0 голосов
/ 28 января 2019

Ответ был:

${data}=  Evaluate  {'files': ('photo-1.jpeg', open("C:/testautomation-robot/resources/Assets/photo-1.jpeg", 'r+b'), 'image/jpeg'), 'extract': (None, 'false'), 'fileId': (None, 'b3duLWZpbGVzL2ZmZmZmZmZmYTQyNDVmODAvMjAxNTY*')}

Найден пример здесь: https://code.i -harness.com / ru / q / bcfb9b

>>> url = 'http://httpbin.org/post'
>>> files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
In the above, the tuple is composed as follows:

(filename, data, content_type, headers)
...