写一个博客来记录学习python的过程

今天是学习接口自动化的第一天

我们需要两个python内置模块 reques,json 直接使用import方法引用即可

基础函数:

requests.get  get请求方式
requests.post  post请求方式
status_code  返回的状态码
.json()方法  将返回的json格式转换成列表
open  使用python打开文件的方法
csv.reader(file)  用于从文件读取指定的字节数,如果未给定或为负则读取所有。
eval()  函数用来执行一个字符串表达式,并返回表达式的值。例如   a = 5  print(evai('a'))将打印出int 5

这段代码是一个简单的接口请求,用的是聚合数据的免费api来测试
import requests
import json
reponse = requests.get(url='http://v.juhe.cn/toutiao/index',  #我们这里先使用一个聚合数据简单的接口入门,reques.get表示请求方式
                       params={'key':'1130d27aed63c793633f6fb55e27a5ed','type':'json'},  #parms=接口的请求体,仅适用于get请求,post因为有body参数,需要用date
                       headers={})        #请求头信息,可以为空
# print(reponse.json())
if reponse.status_code == 200:    #status_code 方法,用来判断返回的返回的状态码
    result = reponse.json()      #json()方法可以直接把返回的文件转换成字典
    print(type(result),result)    #打印出类型看看是什么格式
    if result['reason'] == '成功的返回':  #截取返回的字典中的第一个参数,判断是不是正确,正确则打印信息
        print('数据返回正常')
    else:
        print('数据返回错误')
else:
    print('status error')

 

接下来是使用python读取参数化文件,我们新建一个csv文件,里面包含接口名,请求方式,接口path,参数,预期结果等

base_url = 'http://49.233.108.117:3000/api/v1'
file = open(r'D:\刘英杰\python_33期\a.csv', encoding='utf-8')  #一般打开文件前加上r,后面跟上文件的路径,在同一个目录下可以直接使用 a.csv,endoding=utf-8,有时候文件的格式不对,我们进行一次强制转码
reader = csv.reader(file)    #这里认识一个新的方法reader(),用于从文件读取指定的字节数,如果未给定或为负则读取所有。
apis = list(reader)[1:]      #将列表中的第一个下标切片删除掉,因为第一列是接口名称,所以在我们这里没有意义

for api in apis:        #将我们读取到的列表循环一下
    method = api[1]        #取到下标1,也就是请求方式
    url = base_url + api[2]    #我们定义的base_url和读到的path拼接到一起,就是一个完整的接口域名了
    parms = eval(api[3])      #下标3也就是我们csv中的请求参数了  eval()函数用来执行一个字符串表达式,并返回表达式的值。
    if method == 'get':      
        r = requests.get(url=url,params=parms)
        if r.status_code == 200:
            result = r.json()
            print(type(result),result)

 

posted on 2020-11-22 00:40  LiuYJ1  阅读(151)  评论(0编辑  收藏  举报