(我的公众号“墨石测试攻略”,分享测试经验,欢迎关注!)
功能介绍:这是一个小型的对战系统,模拟两个角色进行决斗,最后判断谁赢了。
(关注公众号“墨石测试攻略”后台回复“Battle”自动获取本实例的代码--这是Github上下载的一套程序,非本人原创。根据提示文档部署在本地后即可进行下面的接口测试。)
接口测试既要保证单接口的正确性,又要保证接口的业务逻辑的正确性。可以正确地接受合法的入参,也可以正确地拒绝非法的入参。
在这个实例中,一共有4个接口,接下来我们从单接口测试和业务流程测试入手来进行接口测试的解析。
测试前准备:认真阅读Readme,再部署好环境,cmd中出现下面的提示表示可以进行接口测试了。
1、单接口测试
以首页好登录页接口为例,剩下的两个接口测试流程相同,小伙伴们可自行完成测试。
·首页
这是一个简单的GET请求方式的接口,测试过程如下图:
·登录
功能分析:这个接口的访问方式是POST,入参是username和password,要求参数不可以为空,也不可以超过10个字符;当这两个参数相同时,可以登录成功,否则登录失败。
设计测试用例如下:
使用postman进行接口测试过程如下:
同样地,后面几个测试用例只需要修改请求参数即可,这样一个单接口就测试完成了。
备注:本实例中的代码是有BUG的,如果你在接口测试过程中发现了这些BUG,说明你又前进一步了。
2、业务流程测试:
根据系统的主要逻辑:进入系统后,选择装备然后和敌人决斗。接口的业务流程测试,主要是保障多个接口的串联可以实现需求中的业务逻辑,
大概可以设计出下面一些测试用例:
针对这些用例,设计的参数如下:
第四个接口中,需要用到第三个接口中选择的装备equipmentid,然后再加入一个enemyid,这种就涉及到了多接口业务流程的串联。我们可以通过设置环境变量的方式,将上一个接口的返回值传递过来。步骤如下:
(1)先请求第三个接口,请求成功后,在响应中会看到下面的返回值:
(2)在这个接口的Tests中通过js来设置环境变量
var jsonData = JSON.parse(responseBody); //获取body中返回的所有参数
postman.setEnvironmentVariable("eq",jsonData.equipmentid) //把返回参数中的equipmentid设置为环境变量
这样eq就可以作为环境变量在下一个接口中使用了。
(3)输入下一个接口的url,并在请求Body中通过{{eq}}引用设置的环境变量,然后发送请求。如上个接口返回的equipmentid=102,那么传递到下一个接口的值也为102.
3、总结
由上面可以看出,接口的业务流程测试和单接口测试相比,少了很多异常情况的验证,比如输入错误的用户名登录失败等,这些其实在单接口的测试过程中已经完成了覆盖。
我们平时的接口测试就是从单接口的测试开始,先保障单个接口的正确性和健壮性,然后再将多个单接口串联,完成多个接口的业务流程测试。
版权归原作者 墨石测试攻略 所有, 如有侵权,请联系我们删除。