ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

6.17___接口测试之python+request(8)

2022-06-17 18:07:04  阅读:223  来源: 互联网

标签:cookies python 6.17 h1 request url dx print cms


一、什么是requests ?

requests是用python语言编写的简单易用的http库,用来做接口测试的库。

二、安装request库

1、在dos下输入pip   install  requests

2、在pycharm中seting中下载

3.查看是否安装

 

 

 

 

=====================================

查看方法:

 

 

 =====================================

组建接口三种方式:

1、第一种

(1)requests.post

dx=requests.post( url =url ,data=date, json=json)di

 

案例:

import  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do"
date1={'userAccount':'admin','loginPwd':'123456'}
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.post(url=url1,data=date1,json=h1)
print(dx.text) #以文本的形式显示响应码
print(dx.headers)#请求头
print(dx.cookies)#cookies值
print(dx.url)#接口路径
print(dx.status_code)#状态码 #200
print(dx.request) #请求方式

(2)requests.get
案例;
import  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456"
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.get(url=url1,params=h1)
print(dx.text) #以文本的形式显示响应码
print(dx.headers)#请求头
print(dx.cookies)#cookies值
print(dx.url)#接口路径
print(dx.status_code)#状态码 #200
print(dx.request) #请求


第二种方法:
requests.request

(1)post请求
requests.request("post",url=url1,data=date1,json=h1)
案例:
import  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do"
date1={'userAccount':'admin','loginPwd':'123456'}
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.request("post",url=url1,data=date1,json=h1)
print(dx.text) #以文本的形式显示响应码
print(dx.headers)#请求头
print(dx.cookies)#cookies值
print(dx.url)#接口路径
print(dx.status_code)#状态码 #200
print(dx.request) #请求方式

(2)get请求
mport  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456"
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.request("get",url=url1,params=h1)
print(dx.text) #以文本的形式显示响应码
print(dx.headers)#请求头
print(dx.cookies)#cookies值
print(dx.url)#接口路径
print(dx.status_code)#状态码 #200
print(dx.request) #请求方式
第三种调用接口的方法:
使用session可以解决接口依赖关系
备注:如果没有依赖,就显示html页面格式
案例:
import  requests
s=requests.session()#创建一个s对象来保持上下接口的关联
class Cms(object):
def __init__(self):
pass
def dl(self):
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456"
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=s.get(url=url1,params=h1)
print(dx.text) # 以文本的形式显示响应码
print(dx.headers) # 请求头
print(dx.cookies) # cookies值
print(dx.url) # 接口路径
print(dx.status_code) # 状态码 #200
print(dx.request) # 请求方式
def lmyh(self):
url1 = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do?parentId=&categoryName=&page=1"
h1 = {"Content-Type": "application/x-www-form-urlencoded"}
dx = s.get(url=url1, params=h1)
print(dx.text) # 以文本的形式显示响应码
print(dx.headers) # 请求头
print(dx.cookies) # cookies值
print(dx.url) # 接口路径
print(dx.status_code) # 状态码 #200
print(dx.request) # 请求方式

if __name__ == '__main__':
c=Cms()
c.dl()
c.lmyh()

======================================
依赖关系:通过cookies保持会话关系
案例:
import  requests
class Cms(object):
def __init__(self):
pass
def dl(self):
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456"
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.get(url=url1,params=h1)
print(dx.cookies) # cookies值 #<RequestsCookieJar[<Cookie JSESSIONID=BCAF009876267A5851EBA4DF9A47BA19 for cms.duoceshi.cn/cms>]>
self.c=str(dx.cookies).split(" ")[1]
print(self.c)
print(dx.text)
def lmyh(self):
url1 = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do?parentId=&categoryName=&page=1"
h1 = {"Content-Type": "application/x-www-form-urlencoded" ,'Cookie':self.c}
dx = requests.get(url=url1,headers=h1)
print(dx.text) # 以文本的形式显示响应码
print(dx.headers) # 请求头
print(dx.cookies) # cookies值
print(dx.url) # 接口路径
print(dx.status_code) # 状态码 #200
print(dx.request) # 请求方式
if __name__ == '__main__':
c=Cms()
c.dl()
c.lmyh()
==============================================
断言:
(1)if 语句
import  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do"
date1={'userAccount':'admin','loginPwd':'123456'}
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.post(url=url1,data=date1,json=h1)
print(dx.text) #以文本的形式显示响应码
js=dx.json()
print(js)
if js["msg"]=="登录成功":
print("ok")
else:
print("no")

(2)
assert  断言
import  requests
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do"
date1={'userAccount':'admin','loginPwd':'123456'}
h1={"Content-Type":"application/x-www-form-urlencoded"}
dx=requests.post(url=url1,data=date1,json=h1)
print(dx.text) #以文本的形式显示响应码
js=dx.json()
print(js)
assert js["msg"]=="登录成功!"

标签:cookies,python,6.17,h1,request,url,dx,print,cms
来源: https://www.cnblogs.com/xukairoot/p/16386655.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有