记录一下unittest request python参数化执行接口测试的一点心得
背景:看了一个头条接口测试的项目实战,想动手做一下,因为原服务器已经停用,无法访问url地址,所以自己用了以前postman使用的一个url项目,导致虽然大致跟视频代码一样,但是问题总是不断出现。
练习的测试主要分为三部分:api部分的封装,业务层的实现test测试,参数化的实现(编写json文件)
1在进行登录的接口测试时,json文件数据,由于平台不同,采用的url以及json中的键都不一样,其中 mobile写成了username,message写成了expec_tcode,导致在写入的时候,写的是一个与接口返回json数据不匹配的信息,导致用例一直失败,且得不到token信息,以致于接下来的 查看成员资料测试,没有办法进行,我一开始以为是 postman和pycharm发送请求的返回token不同的原因,后来发现是json的问题,发现自己所写的json代码,压根跟 我在postman中测得这个接口返回的数据不一样,这时候才开始改代码
这里是因为,跟着视频做了,但是前期缺乏思考,傻傻的跟着视频照抄了代码,expect_code的真实作用都没有考虑清楚到底是什么意思
2测试登陆时,在调用接口登录模块的一个方法的时候,因为是调用的类,在使用类的方法的时候,采用了类名.方法名,后来对比时发现错误,应该先将类实例化,然后再调用类方法,视频的代码,省略了实例化的中间步骤,没有看到,如图,ApiLogin实际上是一个类
对于python的基础语法,感觉没有特别的熟练掌握,需要在不断的练习中巩固
3.在pycharm中调用登录接口后获得的token 可以在查看用户资料中使用,但是要加上Bearer空格,但是 使用postman不通过代码,直接调用登录接口获得的token信息,也可以用到pycharm中来调用查看资料接口
这个是在测试途中突然想到的,对于同一个接口,同一个网络而言,同一个账号密码,我用python实现的登录接口返回的令牌信息,跟我用postman调用接口返回的令牌信息是否通用?
答案显而易见,我可以通过postman调用接口返回令牌信息放到python中实现加下来的测试过程
4.这个是今天感觉遇到的比较严重,但是又愚蠢的一个问题
背景是我在测试查看用户资料的接口过程中,出现
使用postman工具时、能够正常报出员工信息,在pycharm中,直接出系统繁忙
这是在测试查看用户资料的业务层实现时碰到的,一开始以为是我得接口对象层封装写错了,对比后没有错误
后来感觉是因为调用类方法错误了,对比后没错误,
又感觉是Content-Type多了个空格,高兴了好久,发现不是。。。
中间还有个插曲(一个方法名里面套用的文件一直提示找不到,最后重写了一下方法好了)
接着说,因为这个问题真的头大了好久,然后又开始从头开始看视频,开始对比代码,但是代码基本都差不多,
因为我得postman可以正常访问那个接口,所以我在postman中看我得接口是不是少了什么东西,终于、
我发现了这个
对,就是一个post请求,看到这里的时候,心头一颤,赶紧回到视频中看,果不其然,视频中的是一个get请求,
就是因为请求方法不对,导致浪费了一个多小时的时间,让我乱找
就这样吧,电脑没电了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix