How to make a POST (ReST) API in Robot framework with

前端 未结 3 1769
孤城傲影
孤城傲影 2021-01-13 09:09

I need to replicate the below API call in Robot Framework:

curl -X POST \"http://xyz/api/createApp\" -H \"Content-Type:application/json\" -d @/tmp/testfile.jso

相关标签:
3条回答
  • 2021-01-13 09:19

    Bulkan's robotframework-requests is nice. But if you can get by with less, you can do your own local lib/posthttp.py in a few lines like this:

    import requests
    import json
    
    def do_requests_post( url=None, data=None, headers={"Content-Type":"application/json"}):
        return requests.post( url, data=data, headers=json.loads(headers) )
    
    def do_requests_request( method="GET" url=None, data=None, headers={}):
        return requests.request( url, method=method, data=data, headers=json.loads(headers))
    

    Note that the return object is the rich-and-powerful "Response" which has member functions like .json() (which returns a dict if the .text is sensed to be JSON) and .status_code (int).

    0 讨论(0)
  • 2021-01-13 09:20

    It perfectly works when using double backslashes and quotes like:

    curl -i -H 'Accept: application/json' -H 'Content-Type: application/json' -X POST -d "{\"target\" : \"5142221345\",\"source\" : \"432567890\",\"messages\" : [ { \"format\" : \"AMR\", \"data\" : \"binarydata...\" } ]}" http://10.4.4.11:8089/v1/voice/add

    0 讨论(0)
  • 2021-01-13 09:29

    http://bulkan.github.io/robotframework-requests/#Post has files parameter. And what you could do is use Get File keyword from OperatingSystem library and pass that to your Post keyword.

    0 讨论(0)
提交回复
热议问题