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