1、三种接口接口请求方式
# # 在python当中接口的请求方式有哪些:
# import requests # 导入requests接口库
# # # # 请求方式有三种:
# # # # 第一种:
# rep =requests.get()
# rep =requests.post()
# # 第二种
# rep =requests.request(post,get)
# # 第三种
# session =requests.Session()
# #创建一个session对象,作用就是保持会话和关联
# rep =session.get()
# rep =session.post()
2、组建一个接口的步骤有哪些?
# 组建一个接口的步骤有哪些?
# 1、URL请求地址
# 2、headers 请求头类型
# 3、接口入参
# 4、请求的方法get post
(一)第一种请求方法:
案例1:构建一个post请求
案例2:组建一个get请求
import requests
# 构建一个get请求:
url='http://129.226.122.199:8080//cms/manage/loginJump.do'
data={'userAccount':'admin','loginPwd':123456}
# get请求可以不要类型
# 在工具中post请求的时候会有一个类型选择
rep =requests.get(url=url,params=data)
print(rep) #<Response [200]>
print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
js=rep.json()#转换成为js格式,然后在通过断言方法来实现断言
print(rep.headers) #请求头
print(rep.cookies)#cookie
print(rep.status_code)# 200返回状态
(二)通过第二种请求方式来构建请求
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":{}}
案例3
将登录接口封装在类中且给登录接口实现断言请求方式:post
# # 将登录接口封装在类中且给登录接口实现断言请求方式:post
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"] ==u"登录成功!"
if js["msg"] ==u"登录成功!":
print ('接口用例正常')
else:
print ('接口用例异常')
if __name__ == '__main__':
c =Cms_api()
c.fun()
案例3
#第三种方法
# # 练习题目:
# # 将登录接口,用户管理接口,新增用户接口封装在类中且实现断言,
# # 请求方式: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"]==u"登录成功!"
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"]==u"查询用户成功!":
print ('查询接口正常')
else:
print ('查询接口失败')
def cms_uers(self): #薪增用户接口
user_url='http://192.168.254.129: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"]==u"保存用户信息失败,登录帐号已存在!"
if __name__ == '__main__':
U=Cms_api() # 创建一个对象
U.cms_dl() #对象调用登录接口
U.cms_yhgl() #对象调用用户管理接口
U.cms_uers() #对象调用新增用户接口
#