Hi~ 由于最近家里宝宝病了,我也在研究 python 的其他内容,很久没有来社区了,不过我还是一直关注社区的动态哟

好了,闲聊的话题就到此为止, 今天我给大家带来的,是 python 实现的接口自动化测试的开发实例(简例),深入的内容需要符合业务逻辑, 所以再此处不多赘述。

首先

我们拿到了豆瓣的 API 接口及参数发送方法。详见:http://developers.douban.com/wiki/?title=api_v2
我这边拿到的是书籍查询接口 地址为:https://api.douban.com/v2/book/1220562
所以我们从这个 url 地址可以看出,后面的 1220562 为书籍的参数,或者,我们可以通过 GET 或 WGET 的方法 ,通过修改参数查看返回值

其次

我们创建一个名为 request.py 的 python 文件(显然是废话,名字当然可以随意的起)

import urllib,urllib2   #导入这两个模块
import requests        # 导入这个模块

然后我们导入 urllib 模块和 requests 模块, 如果对这两个模块不熟悉的同学, 请自行百度

我通过 Linux 的 Get 方法的尝试发现,这个书籍的 id 是从 1000001 开始 才有数据,也就是第一本书的数据内容,所以,我们需要一个 100W 的计数器,或者可以叫做书籍 ID

count = 1000000          #书籍ID
if count <=2000000:     #如果书籍的ID小于200W
    while True:                 # 条件为真
        count += 1             #循环开始,并且count += 1 
        try:                          #try 捕获异常
            url = 'https://api.douban.com/v2/book/%s' %count             #自动通过count数量的变化请求接口数据 

            url2 = urllib2.Request(url)                                                          # 使用urllib2的request方法
            response = urllib2.urlopen(url2)                                               #用urlopen打开上一步返回的结果,得到请求后的响应内容
            apicon = response.read()                                                          #读取response
            print apicon
        except urllib2.HTTPError:                                                              #如果频繁请求,会被判定为恶意请求, 并被封IP 这个只是一个实例,没有加时间间隔,想深入做的同学可以加一下
            print "error , urllib2.HTTPError : %s " %count                          # 如果捕获异常, 则返回异常坐标

最后

我们来验收一下通过接口,返回的数据内容吧

欸,貌似可以看到数据了呢,所以大家也来尝试一下, 在自己的测试环境进行一次简单的接口测试吧

这是简单的 python 实现的接口测试的开发实例,如果想做自动化接口测试开发的同学,还需要自己深入了解,后续我会继续根据实例来讲解 python 自动化相关的内容


↙↙↙阅读原文可查看相关链接,并与作者交流