当将字典作为参数时,需要以scalar变量的形式进行参数传递

举个例子

我的关键字是这样定义的

    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的命名参数,所以报错了。

 

那是不是说,如果我们的关键字有多个命名参数,我们可以用这种方法来简化调用呢??

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值