我们今天讲解的内容
一、什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库。
二、安装requests库 1.按住Windows标志+r,在运行窗口输入cmd,输入pip install requests进行安装。
三、接口测试的流程:
1、问开发人员要到接口文档(或者通过fiddler和chrome浏览器抓包)
2、查看当前接口是用什么请求发送的
3、添加对应的请求参数
4、在IDE工具中右键点击run,运行py文件,发送接口请求,查看返回结果,对返回 结果进行校验看是否正确
四、
# # 接口测试:
# # 组建一个接口需要哪些参数
# # 1、URL请求地址
# # 2、当前接口的请求方式get /post
# # 3、当前接口的请求类型
# # 4、接口的入参
# # # # # # 请求方式有三种:
# # # # # # 第一种:
# # rep =requests.get()
# rep =requests.post()
# # 第二种
# rep =requests.request(post,get)
# # 第三种
# session =requests.Session()
# #创建一个session对象,作用就是保持会话和关联
# rep =session.get()
# rep =session.post()
post使用方法
一个post请求方法:
get 方法:
第二种:调用方法
# # # 通过第二种请求方式来构建请求
import requests
url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
data ={'userAccount': 'admin',
'loginPwd': 123456}
rep =requests.request(method='get',url=url,params=data)
print (rep) #Response [200]>
print (rep.text) #{"code":"200","msg":"登录成功!","model":{}}
#封装接口
import requests class Cms_api: #定义一个类 def __init__(self): #定义一个构造函数用来初始化 pass def fun(self): #定义一个方法 '''封装登录接口''' url ='http://129.226.122.199:8080/cms/manage/loginJump.do' data={'userAccount': 'admin','loginPwd': 123456} headers ={'Content-Type': 'application/x-www-form-urlencoded'} rep =requests.post(url=url,data=data,json=headers) print (rep.text) '''如需要断言则要把类型转换成为字典:js''' js =rep.json() #切记如需要断言一定要转换否者无法断言 assert js["msg"] =="登录成功!" if js["msg"] =="登录成功!": print ('接口用例正常') else: print ('接口用例异常') if __name__ == '__main__': c =Cms_api() #创建一个对象 c.fun() #实例方法,通过对象调用实例方法
断言
第三种方法:结合多个接口进行封装
#第三种方法 # # 练习题目: # # 将登录接口,用户管理接口,新增用户接口封装在类中且实现断言, # # 请求方式:post import requests #到入 接口库 session= requests.Session() # 创建一session对象来保持上下接口的关联 class Cms_api: def __init__(self): pass def cms_dl(self): #定义一个登录 url ='http://129.226.122.199:8080/cms/manage/loginJump.do' data={'userAccount': 'admin','loginPwd': 123456} headers ={'Content-Type': 'application/x-www-form-urlencoded'} # dl_rep=requests.post(url=url,data=data,json=headers) dl_rep =session.post(url=url,data=data,json=headers) print (dl_rep.text)#{"code":"200","msg":"登录成功!","model":{}} js =dl_rep.json() assert js["msg"]=="登录成功!" def cms_yhgl(self): #定义一个用户管理接口 uerlist_url='http://129.226.122.199:8080/cms/manage/queryUserList.do' uerlist_data={'startCreateDate': '','endCreateDate': '','searchValue': '', 'page': 1} uerlist_headers={'Content-Type': 'application/x-www-form-urlencoded'} # uerlist_rep=requests.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers) uerlist_rep=session.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers) print (uerlist_rep.text) #{"code":"200","msg":"登录成功!","model":{}} js =uerlist_rep.json() #"code":"200","msg":"查询用户成功!", if js["msg"]=="查询用户成功!": print ('查询接口正常') else: print ('查询接口失败') def cms_uers(self): #薪增用户接口 user_url='http://129.226.122.199:8080/cms/manage/saveSysUser.do' user_data={'id':'' ,'userName': 'cccc','userSex': 1,'userMobile': 13314333333, 'userEmail': '8834343@qq.com','userAccount': 'cccc', 'loginPwd': 123456, 'confirmPwd': 123456} user_headers={'Content-Type': 'application/x-www-form-urlencoded'} # user_rep=requests.post(url=user_url,data=user_data,json=user_headers) user_rep=session.post(url=user_url,data=user_data,json=user_headers) print (user_rep.text) #{"code":"400","msg":"保存用户信息失败,登录帐号已存在!","model":{}} js =user_rep.json() assert js["msg"]=="保存用户信息失败,登录帐号已存在!" if __name__ == '__main__': U=Cms_api() # 创建一个对象 U.cms_dl() #对象调用登录接口 U.cms_yhgl() #对象调用用户管理接口 U.cms_uers() #对象调用新增用户接口 # #