Python dubbo接口自动化测试的爬坑记!
本文由柠檬班全程班30期,Python2期VIP学员诺诺周原创!目前诺诺周测试开发正在进修中,不仅如此,还报名了ISTQB考证!
从测试小白一路进阶,到现在小简老师的得意门生,诺诺周的文章含金量可是超高呦!
最近公司业务部门来了新需求,主要业务数据需要定期走接口批次上传银行存档以备核查。
公司底层接口是dubbo类型,使用dubbo_telnet一直以来测得也算是顺风顺水,日常接口入参大多以json字符串的格式传入,这次却遇到了一个奇葩问题,传参怎么都传不过去,直接报错找不到接口方法...
下面跟大家分享一下这个坑
先来上一下报错截图
直接报错类中找不到此方法,首先确认了ip和端口号没有问题,再来核对一下接口文档中的请求类名和方法名明明有这个接口啊,接口地址也没错。
了解到公司开发一贯的尿性,报错信息从来不写的清楚直白,入参如果传错的话也有可能会这么报。
那么接下来继续排查。
第三方银行接口文档需要json格式入参。
开发提供swagger文档入参也是json数据格式,可以看一下我的入参格式正确,两个参数一个ifCertUserlbfo value是list格式,另一个参数是batchNum,value是字符串格式。
第三方接口文档也是这个格式啊,还能有这个幺蛾子哦...
这...还给我报这个错误怎么忍,我就只能去找开发哥哥了。
# 根据swagger文档,我的入参格式为
开发哥哥上来第一句就是“哎~怎么会报这个错,你ip和端口号写对没,方法名有没有拼错啊,参数有没有拼错少写漏写的”
以上一段话统统被我以没错我保证回决后,他终于打开日志让我复现问题了。
打开日志一看特喵日志都没进来,当下就说我入参格式有问题,可是swagger文档清清楚楚form-data格式啊。
当下大佬一顿骚操作,接口运行成功了,如下格式。
当时测试任务重,搞了一下午的问题能调通已经很开心了。
# 本来正常入参如下:
测试完成后总结时细细想来:不需要传key值,两个value值一个list一个string以逗号分割放在一个字符串里 为什么要这么传参呢,既不好理解也需要花时间和测试同学讲清楚啊。
又看了下原来是想直接拿到字符串,以逗号分割一下,分割的两个参数便可以直接作为参数传给第三方接口调用!
前因后果梳理一遍,开发为了偷懒期望拿到手的数据做最少的处理便可以传给外部接口,不按规范来开发所有的处理都期望交给上层系统解决。
按照自己最舒服的方式来,实际处理逻辑和接口文档显示的入参格式完全不一样,但是设计逻辑又没有提前和测试讲清楚,给测试造成了误解,浪费了大半个下午时间排查问题调试接口。
想明白后这个坑也和技术部领导反应清楚了,对开发提出要求,既然需要我们来测试,那么也要开发来做好配合,如果有特殊变更需要及时通知测试保持信息畅通,一切按照规范来行事。
作为测试我们不能完全被动,遇到阻碍问题时需要向上推动,如果开发有做的不规范影响流程的地方,要及时向领导反映和相关负责人探讨解决方案,改进项目流程。
同时也能体现出自己发现问题解决问题的能力。
工作中除了要努力解决技术性问题外,还需要具备更多软实力还能一步步往上走。
关注简书,获取最新技术文章,让软件测试学习变得更简单!
今日福利,需要接口自动化测试相关学习视频,可加小米老师微信:13327316731 暗号:简书