您的位置:首页 > 编程语言 > Python开发

【软件测试】python完成接口测试示例

2019-03-20 10:10 375 查看
[code]#导包
import requests
s = requests.session()
#先登录,获取session
def login(username,password):
param_login = {"userName": username, "password": password}
global url_login
host = "http://192.168.1.168"
url_login = host + "/auth/passwordLogin"
# 指定请求头信息
headers = {'Content-Type': 'application/json;charset=UTF-8'}
# 发送post请求,获取响应头信息并将session分割出来返回
res_login = s.request("post", url=url_login, json=param_login, headers=headers)
session = (res_login.headers['Set-Cookie'].split(';')[0]).split('=')[1]
#print(session)
#print(res_login.text)
return session#将session返回,以备其它接口使用,完成接口自动化

# 更改密码接口,将登陆时的session传进来
def change_pwd(originalPwd,newPwd,newPwdConfirm,session):
param_changepwd = {
"originalPwd": originalPwd,
"newPwd": newPwd,
"newPwdConfirm": newPwdConfirm
}
# 更改密码的接口url
url = "http://192.168.1.168/auth/password/changePassword"
# 消息头指定,完成Cookie的拼接
headers = {'Content-Type': 'application/json;charset=UTF-8','Cookie':'showVerifyCode=8d6f77915c7ad0419543f0e77bf2b982; SESSION='+session}
# 发送post请求,更改密码
changepwd = s.request("post", url=url, json=param_changepwd, headers=headers)
#print(changepwd.text)

if __name__ == '__main__':
#获取登陆时的session,以备后续接口完成自动化
session = login("guaishounan","cXFXVzIyQEA")
# session = "" #session为空或错误时,则未登陆,无法完成后续接口自动化工作,这也应成为测试的一个点
    #在此传入实参,即可进行接口测试,当然,这样的测试很机械,需要太多的人工介入,类似于使用postman工具,因此,可以考虑使用requests+unittest完成接口自动化测试,并生成html测试报告
change_pwd("123456","654321","654321",session)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: