举个例子
我的关键字是这样定义的
def get_request(self, uri, headers=None):
"""
处理get请求
:param uri: 服务的uri
:return: 返回结果为json,格式 {"status_code: xxx, "data": xxx}
"""
那么在调用的时候:
&{header}= Create Dictionary Authorization=abc:123
${ret}= REST.Get Request /v1/payment/user/subscriptions/${cardId} ${header}
或者
&{header}= Create Dictionary Authorization=abc:123
${ret}= REST.Get Request /v1/payment/user/subscriptions/${cardId} headers=&{header}
这2中方式都可以。
但是下面的方式不可以:
&{header}= Create Dictionary Authorization=abc:123
${ret}= REST.Get Request /v1/payment/user/subscriptions/${cardId} &{header}
会报TypeError: get_request() got an unexpected keyword argument 'Authorization'。 根据字面意思,我怀疑,robot 将这个字典给解析出来了,然后形成了如下的调用
${ret}= REST.Get Request /v1/payment/user/subscriptions/${cardId} Authorization=abc:123
但是我们定义Get Request时,并没有定义一个叫Authorization的命名参数,所以报错了。