利用python发送第一个请求

关于HTTP请求,建议大家提前了解一下,再来看该篇文章
该篇文章以简单的登录接口为例,干货来了:
首先利用python发请求就会用到request库,先导入进来

import requests

导入该库之后,就开始代码主体部分了

#首先我们要把我们要测试接口API写进来
url="http://localhost:8080/jwshoplogin/user/login.do"
#紧接着把我们需要的参数定义一下
userinfo={"username":"大娟",
           "password":"Aa111111"}
#参数定义完成后,就该让这个请求带着这个参数去乖乖的请求服务器了,下面的代码意思为将响应回来的信息以文本格式给到res
res=requests.post(url,data=userinfo).text
#得到响应信息后,将他打印出来
print(res)

python编写接口自动化脚本 python接口自动化流程_python编写接口自动化脚本

这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,

#.find这个方法是在响应回来的信息里面找登录成功四个字,找不到会返回-1负一的值
msg=res.find("登录成功")
if msg>0:
    print("测试通过")
else:
    print("测试失败")

一个简单的接口测试就这么完成了。

将请求参数进行参数化处理

这时候我们用到的是csv文件,现将csv库倒进来,还有我们必要的request库

import request
import csv

下面是代码主体,具体解释我会写进代码里

url='http://localhost:8080/jwshoplogin/user/login.do'
#上面url就不解释了,但是userinfo我要说下,这里为空是因为我一会在文件里读取的内容放到这里面
userinfo={}
#下面的两个是对文件的操作,r为对文件读(read),w为对文件写(write)
file1=open("interfacePara.csv",'r')
file2=open("loginResult.csv","w")
#这个意思为将读出来的内容放到table里面
table=csv.reader(file1)

我先把interfacePara.csv文件的样子给大家看下

python编写接口自动化脚本 python接口自动化流程_python_02

这三列分别为用户名,密码,以及预期结果

接下来我们要用循环方式去判断每一用户是否登录成功

for row in table:
#第一次循环
#将读到的第一行第一列的值给到username
    userinfo["username"]=row[0]
#将读到的第一行第二列的值给到password
    userinfo["password"]=row[1]
#这时候userinfo拿到的值为username="大娟",password="Aa111111"
    response=requests.post(url,data=userinfo).text
#查看一下响应回来的信息
    print(response)
    print(row[2])
 #在响应回来的信息里面找csv文件里的第一行第三列的值,然后做判断,写到文件loginResult.csv里面
    r=response.find(row[2])
    if r>0:
        print("测试通过")
 #因为在csv文件里每个分割是用逗号分割的所以这个要加上逗号,而且是英文格式的大家不要搞错,"\n"是换行的意思
        file2.write(row[0]+","+row[1]+","+row[2]+","+"测试通过"+"\n")
    else:
        print("测试异常")
        file2.write(row[0] + "," + row[1] + "," + row[2] + "," + "测试失败" + "\n")

这样一个简单的接口测试就这么完成了,希望对大家有帮助,有什么疑问可以留言,我看到了会及时回复大家的