利用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)
这个为该接口正常响应回来的信息,作为测试我们当然要写个断言来判断他响应回来的对不对嘛,
#.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文件的样子给大家看下
这三列分别为用户名,密码,以及预期结果
接下来我们要用循环方式去判断每一用户是否登录成功
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")
这样一个简单的接口测试就这么完成了,希望对大家有帮助,有什么疑问可以留言,我看到了会及时回复大家的