保姆级教程Stept6--接口联调组合测试
目录
保姆级教程Stept7--接口联调组合测试进阶之脚本优化(持续更新中)
okk,很高兴又和大家见面了,前面讲到保姆级教程Stept5--面向对象之批量高效接口测试,今天持续为大家更新保姆级教程保姆级教程Stept6--接口联调组合测试
承接上文,我们从搭建环境到独立接口脚本开发,从批量导入文件到导出测试结果,最终目的还是要回归到完成接口测试任务中去,接口测试除了独立的接口测试,经常也会碰到相互依赖的接口场景,同时这样的接口测试经常伴随着
联调的问题:下一个接口的输入参数依赖上一个接口的返回结果
比如注册后的登录,登录后的修改密码等等,都依赖上一个接口返回的结果作为下一个接口的输入参数,面对这样的问题,我们可以通过接口联调脚本实现一次性多个接口的测试工作。极大加快我们的测试效率,提升个人能力和行业竞争力。
1.接口整体联调分析
要完成接口联调组合测试,首先我们得先对接口整体联调进行分析,根据接口文档我整理了一下接口的编号、名称、访问地址、参数和返回值,情况如下图
从整理好的文档上来看,这是一个用户登录、注册、修改密码类型的接口测试项目、根据这个项目的特性我们之前已经讲过独立接口的脚本设计,接下去我们设计一个 ‘用户找回密码’的业务场景进行接口联调组合测试的分析与实践。
ok,我们简单设计了一下找回密码的业务场景,流程上应该是用户先注册、再登录、忘记密码、提交密保问题答案之后,完成密码修改,最后重新登录以验证密码是否修改成功。
要记得我们是测试,所有的业务完成之后一定要有验证流程,以确认我们的测试成果。
2.逐个接口发生请求并查看响应结果
经过业务分析之后,我们接下来对逐个接口进行调用请求,并查看返回结果,这里我们可以用postman进行调用测试。因为前面的用户注册和登录接口我们在前面一期的内容里已经调用过了,所以我们直接从忘记密码接口开始。(感兴趣的小伙伴可以翻翻我前面一期的视频内容--保姆级教程Step4--玩转接口联调测试之面向对象)
2.1忘记密码提示密保接口
这个接口通过忘记密码提示查看我们的密保问题,传入参数只有一个 username ,返回结果是 ‘喜欢看的书’,我们先记录下来。
2.2提交问题答案接口
这个接口需要三个参数:username--用户名、question--密保问题、answer--问题答案。
获取返回的data参数,也就我们常说的 “token”,token一般是有时效性的。
(Token通常指的是一种代表特定身份或权限的数据结构。它一般包含一段随机生成的字符串和一些元数据,用于确认用户身份并授权其访问特定资源)
2.3回答完密保问题后修改密码接口
之后的回答完密保问题后修改密码接口 需要的参数有 username--用户名、passwordNWew--新密码、forgetToken--忘记密码所需的token。
这个token就是我们上一个接口返回的数据,注意这里就是我们这期接口联调组合测试的难点:需要做接口参数依赖,即上一个接口的参数返回值,作为下一个接口参数的输入值。
为什么是难点呢?因为这个token值是变化的,每次请求获取的token都不一样,所以我们必须要准确获取到每个token的返回值,再把它作为下一个接口的入参。
2.4重新登陆
最后是重新登录,验证我们的用户修改密码业务是否正确。
显然我们的设计思路和操作执行流程都没有问题,接下来进行接口联调的脚本设计
3.接口联调脚本设计
之前面向对象思想的脚本设计我们是一个接口对应一个类,这种情况适用接口数量较少的情况(3个以内)
这次的联调脚本需要5个测试接口,所以我们更换一下设计思路,采用一个类对应多个测试方法,一个测试方法对应一个测试接口的设计思路进行脚本设计。
3.1画流程图
ok,我们简单画了一个设计流程图,在以后的工作中,我们可以先画流程图,再根据流程图的思路进行脚本编写,方便我们进行设计底稿保存,不会在编写脚本的时候忘了我们的实现流程和步骤。
3.2脚本编写
根据我们画的流程图,一步步进行脚本编写和实现
老规矩,上代码
3.2.1用户注册接口测试方法
通过之前面向对象编程思想的学习(详情可见:保姆级教程Step4--玩转接口联调测试之面向对象),我们进行测试类的定义,然后定义了一个用户注册接口的测试方法,下面的URL和userinfo都是这个方法内的属性,最后通过发送请求获取响应结果,进行测试结果比对,得出测试结论。
3.2.2用户登录接口测试方法
如法炮制,定义用户登录接口的测试方法
3.2.3忘记密码接口测试方法
第三个是忘记密码接口测试方法
3.2.4提交密保问题答案接口测试方法
第四个是提交密保问题答案接口测试方法
通过观察我们可以发现,这个方法里多了一个对返回结果 ‘data’的转换,将原本字符串类型的数据转换为字典类型,然后赋值给token,最后将token返回,预备作为下一个接口的传入参数。
3.2.5回答完密保问题后修改密码接口测试方法
最后是回答完密保问题后修改密码接口测试方法,我们可以看到上一个接口返回的token直接作为参数写到方法中,并将token直接作为参数传入接口中
这里我们打印了传入的 token 以方便我们执行脚本的时候对比前后token是否一致
3.2.6实例化测试类并调用执行相应的测试方法
写完所有方法后我们将定义好的测试类进行实例化,再对写好的方法进行调用,这里注意,最后要重新调用一次用户登录方法,以验证我们写好的这个用户找回密码业务流程是否正确。
4.查看执行结果
最后我们查看执行结果,看是否如我们预期的完成忘记密码后重新登录。
OKKK,传入的token跟返回的token结果一致,完美完成了我们这个用户找回密码的业务流程测试
最后通过带大家感受一下接口联调组合测试的魅力,5个接口通过我们的脚本设计、编写、执行最后只需要大概10秒钟就完成了整个业务流程及验证过程,大大减少了我们通过postman进行单接口一个个执行的测试执行时间,完成高效测试。
那么本期课程内容到此结束,如果对你有所帮助,还望点赞关注一下,同时有不懂或不同想法意见的欢迎在评论区留言,学习就是通过不断的互相碰撞爆发出思维的火花!
下一期内容我们将继续学习接口联调组合测试的脚本优化!
保姆级教程Stept7--接口联调组合测试进阶之脚本优化(持续更新中)
环境部署相关安装包及接口文档可关注公众号
AI时代下无法被替代的测试们
发送:环境部署安装包 领取环境部署相关安装包
发送:接口文档 领取项目实战接口文档
有相关问题可在评论区留言或添加VX:19883291985 私信咨询