关于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")
作者:芳草乀
原文链接:https://blog.csdn.net/weixin_39624227/article/details/114794524