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 # 如果捕获异常, 则返回异常坐标
我们来验收一下通过接口,返回的数据内容吧
欸,貌似可以看到数据了呢,所以大家也来尝试一下, 在自己的测试环境进行一次简单的接口测试吧