如何解析接口文档,编写接口测试用例

336 阅读4分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第24篇文章,点击查看活动详情


接口测试文档实例

接口文档解析

要做好接口测试,首先需要学会解析接口文档,一般接口文档会包含接口的地址,接口的使用方法(get/post/put等)、必填参数、非必填参数、参数长度、返回结果。只有知道了这些信息才能设计 测试用例,以完成对接口的测试。

举个抽奖接口的例子,接口文档(1)如图所示。

image.png

接口文档(2)如图所示。

image.png

从接口文档可以得到信息如下。

1)接口的URL地址。 

(2)接口的方法是post。

(3)接口有2个必填的参数,一个是手机号,一个是活动ID。 

(4)对于手机号参数数据类型是数字,且限定为11个数字。

(5)对于活动ID参数数据类型也是数字,且小于1000的数字。

(6)接口返回3个参数,用户手机号码、剩余抽奖次数、抽奖结果。 

(7)返回的用户手机号码就是参与抽奖的用户手机号码。

(8)每天只有3次抽奖机会,抽一次少一次,当没有抽奖次数时,返回Number是0,并且 抽奖结果不能为True。

(9)抽奖结果只能是True或者 False

解析完接口文档后,基本上可以明确测试点和预期结果,以便为之后测试用例做准备。

接口测试用例

可以把接口测试当作一个单元测试,测试各种输入情况,然后根据输出情况来判断是否符合预期结果。那在编写代码之前就要先准备测试用例,接口只是单一功能,不需要很复杂的测试用例,只要准备正常数据和异常数据,然后对应各种结果即可。先列一个大致的测试用例。

image.png

至于抽奖是否成功,还涉及到概率算法的代码,需要调整概率并且配合使用并发来测试,这个后面的实例中再做介绍。

完成了输入测试数据准备工作,接着就要开始编写代码了。

测试代码编写

对于已经学会 requests 用法的人来说,其实只需要几行代码就能完成对这个接口的请求,然后手动将需要输入的代码赋值到对应的变量中,最后运行代码发送请求,并打印输出结果,再与之前的预期结果做对比,就完成了通过Python测试接口的目的。

实例代码:

1 import requests 

2 phone=13211111111 

3 id=1001

4 form = {"mobilePhone":phone,"activityGuid":id}

5 url=http://www.xxx.com/management/winningrecord/newluckDraw"

6 response=requests.post(url,data=form)

7 print (response.text)

代码说明:

2 将需要输入的手机号赋值到变量phone之中,这个值是需要手动改的。

3 将需要输入的活动ID赋值到变量ID之中,这个值也是需要手动改的。

4 将需要发送的 form以字典的形式赋值到form这个参数之中,由于有2个key,然后对应的2个value通过变量赋值,这样的好处只需要改变量而不需要改form,就能完成不同数据的测试了。

运行结果如图所示。

image.png

好像相对使用接口测试工具来说,编写测试代码的优势并不是很大,还是通过手动的方式去输入数据,然后人工地去判断是否符合预期结果,和使用测试工具没有什么区别。如果仅仅是对于单接口来说,的确是没什么很大的区别,但如果有多个接口相互关联,需要通过一个接口的返回数据传到另外一个接口的参数之中,又或者需要将接口测试做成自动化(之后自动化测试会介绍如何通过读取文件数据作为测试参数自动带入程序执行),这时候编写代码的优势就能体现出来了。