保姆级教程step2--独立接口脚本开发
OK,前面讲到接口自动化--从入门到实战,保姆级教程Step1--环境部署的前期准备工作已经完成,今天持续为大家更新接口自动化保姆级教程Step2--独立接口脚本开发
说好了从0到1,那就是手把手教,从最基础的开始,说好了保姆级教程,就是让你跟着学就能一步一步做到从环境部署到独立接口脚本开发以及后续的接口自动化脚本。(#^.^#)
1.测试准备
部署好环境之后,通过开发给的接口文档,我们先进行接口测试范围的明确。知道我们要测的接口有哪些,对症下药,有的放矢。可以简单的列出几块内容,如接口编号、接口名称、接口优先级、接口成熟度、开发负责人等内容
2.根据接口文档整理出我们测试用例中需要的相关内容
(看不懂也不要紧,先把看得懂的记下来,干活就是边干边学,才能快速达到工作目的,取得工作成果。)最基础的几个点包括接口名称、接口测试说明、接口请求地址、接口参数说明、接口预期结果及接口实际执行结果,这块的内容跟平时写的用例差别不大,只是提炼内容从需求文档换成了接口文档。
ps:该实战项目的接口文档我会放在结尾公众号上,有需要的可以关注后自行获取
3.整理好文档后,进行接口测试的执行。
我们以最基本的用户登录接口为例进行测试执行,打开Postman后输入接口请求地址,选择请求方式(基本上用的是GET和POST方法,根据接口测试文档及参数进行确认)
我们的登录接口选择POST方法后,输入URL然后在 body中的 form-data输入所需参数:“username”:张三 和 “password”:123456 点击Send进行发生。
我们可以看到发送后得到的 接口返回结果是 "msg": “用户名不存在”
此时我们可以对照数据库和接口文档校验返回结果是否正确,如果正确说明我们的第一步已经完成,测试接口功能是否实现且能正常使用,这就是我们工作的目的。按照我们的接口测试步骤按部就班的开展起来其实并不难。
通过确认数据库和接口测试用例我们不难发现,接口返回结果跟数据库结果是一致的,张三这个用户确实不存在。
4.正常接口测试结果测试
通过刚才未注册的用户进行测试我们可以发现,未注册的用户接口校验返回的结果是:“用户名不存在”,那么我们需要测试一下正常已注册的用户发送请求后返回的接口测试结果是否正确
我们可以用数据库中已有的数据进行测试,也可以新注册一个用户进行测试,我们用这两种方法都测试一下
4.1数据库已有账号进行登录
通过数据库中已有的账户发送请求我们发现返回的结果是 “密码错误”,这是为什么?因为数据库的数据存储已经通过加密进行存储,所以我们看到的是加密后的数据,须通过解密才能得到正确的登录密码,这个我们后面再讲。
4.2用户注册接口进行登录
下面我们用第二种方法,我们注册一个新的用户,接口返回注册成功,接下来我们再用这个注册好的账号密码进行登录,查看接口返回的结果是否和接口文档一致。
通过新注册的用户进行登录,我们发现接口返回的结果和我们刚注册的用户 “张三”一致。但是不知道细心的小伙伴们发现没有这个注册的密码返回的结果是 “null”
这是为什么?在我们不了解且接口文档未做说明时,可以作为bug先记录下来,后续找开发确认,这也是工作中经常会碰到的情况,文档并不那么细致,需要我们通过测试进行校验并和开发确认。
5.学习通过脚本编译工具Pycharm进行接口测试
这里我们用 pycharm 进行接口测试脚本的编写,如果不了解pycharm或者想要安装包的同学可以通过我之前的 web自动化相关 文章学习安装,下面是文章链接WEB/UI自动化实战--从入门到实战,保姆级教程Step1--环境部署
打开pycharm 进行接口测试脚本编写时,要注意我们先通过编写注释来明确我们此次接口测试脚本编写的目的和流程。(不写注释直接开始写通常会大脑短路,两眼一抹黑不知道要写啥,别问我是怎么知道的~~~)
通过编写注释,我们发现就是简单的四个步骤,我们就能实现接口测试脚本的编写,并通过对比测试结果,得出测试结论。前期准备工作我们已经做好,接下去只要跟着注释实现测试脚本的编写即可。
5.1调用python类库包
通过pycharm进行测试脚本编写,我们要先导入python的类库包,方便我们进行接口测试脚本的编写和调用
import request 这是python调用接口的请求方法
然后通过 url=‘‘http://localhost:8080/jwshoplogin/user/login.do’’
response=requests.post(url).text
print(response)
调用接口,并打印接口返回结果
通过接口返回结果我们可以发现,当我们未传入参数时,接口返回用户名不存在。
5.2传入接口参数
接下来我们传入接口参数进行测试,通过给参数进行赋值,然后输入参数
userinfo={'username':'张三',
'password':'123456'}
注意多个参数间要用 逗号“,”隔开
调用接口,并打印接口返回结果
通过接口返回结果我们可以发现,当我们传入参数时,接口返回登录成功。
5.3对比测试结果,得出测试结论
通过成功调用接口并返回结果,最后我们通过对比返回的测试结果,得出测试结论。
msg=response.find('登录成功')
print(msg)
if msg!=-1:
print('正确用户名登录成功')
else:
print('用户名或密码错误')
我们通过 寻找“登录成功” 这样的返回结果信息来判断正确用户名的登录测试是否成功,假设接口返回的结果信息msg中包含登录成功,则msg会大于>0,
我们通过打印msg的值发现msg的值=19 ,这意味着子字符串 '登录成功'
在 response
字符串中从索引位置 19 开始
通过接口返回结果我们可以发现,当我们传入正确参数时,接口返回登录成功。
我们也可以观察一下,当我们输入错误参数时,msg返回的值是多少?
通过测试发现
当我们传入错误的用户名参数进行接口调用时,接口返回的结果信息msg中未包含登录成功
我们打印了msg的值发现msg的值等于-1,
根据if语句,打印错误信息,提示 用户名或密码错误
到此我们已经完成了接口登录脚本的开发编译工作,通过脚本实现了调用接口、传入参数、获取相应结果并通过判断返回的响应结果进行比对,得出测试结论。
OKK,看到这里,再一次恭喜你已经完成了保姆级教程Step2--独立接口脚本开发的基础内容,你可以通过测试准备工作及接口脚本的编写完成我们接口文档上剩下的独立接口脚本的开发设计了,下一期内容我们继续学习如何 完成批量导入文件及测试接口的联调工作 !
保姆级教程Stept3--批量导入文件及导出测试结果(持续更新中)
环境部署相关安装包及本期接口文档可关注公众号
AI时代下无法被替代的测试们
发送:环境部署安装包 领取环境部署相关安装包
发送:接口文档 领取本期接口文档
有相关问题可在评论区留言或添加VX:19883291985 私信咨询