【robotframework】部分问题及解决思路总结(截止2018.03)

1.某接口脚本没通过,报错信息如下:
Keyword ‘AutoTestLib_Common.Create Dict’ expected 3 non-keyword arguments, got 0.;methodName方法名,常量:deviceFingerPrint??
原因
Source文件下的User Keyword文件,忘记写入前三个固定参数,因此报错。
前提
根据接口文档提供的信息,发送的请求参数按照3+n的形式去定义,3个固定,n个随机。
AutoTestLib_Common.Create Dict‘方法中按照以上前提写了代码

def createDict(self,serviceName,bizType,methodName,callback=False,**kws):
        # dst_str = '{"bizType":"123","params":{"mobile":"123456","idCard":"123456","name":"zhangsan"},"serviceName":"123","methodName":"123"}'
        dst_str = '''{'''
        if serviceName!='null':
            dst_str = dst_str + '''"serviceName":"%s",'''%serviceName
        if bizType!='null':
            dst_str = dst_str + '''"bizType":"%s",'''%bizType
        if methodName!='null':
            dst_str = dst_str + '''"methodName":"%s",'''%methodName
        dst_str = dst_str + '''"params":{'''
        # dst_str = '''{"bizType":"%s","serviceName":"%s","methodName":"%s","params":{'''%(bizType,serviceName,methodName)

        for key,value in kws.items():
            if value !='null':
                dst_str = dst_str + '"%s":"%s"'%(key,value) + ','


        dst_str = dst_str[:-1]  + '}}'

2.某接口脚本没通过,报错信息如下:
Keyword ‘AutoTestLib_Common.Create Dict’ got positional argument after named arguments.
原因:
User Keyword文件中的变量名排序错误或变量名书写有误,不够仔细。


3.xx力14-17,3个接口;
前提
需要短信验证码,认证接口要单独拿出,手动认证20分钟后,才能请求。
思路
考虑从后台服务器日志去拿取验证码,但由于是第三方接口所以暂时没做。
如果一定要做,可以考虑手机收到后在脚本中填写,再去请求。


4.有的接口并非前3个必填,与最开始定义的脚本不一致。
此时会报错:
Keyword ‘AutoTestLib_Common.Create Dict’ expected 3 non-keyword arguments, got 2.
可以看到此时最初方法中的逻辑已经不能满足业务需要,修改代码逻辑如下:

    def createDict(self,serviceName,bizType,methodName,callback=False,**kws):
         dst_str = '{"bizType":"123","params
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值