Python requests接口测试实现代码


Posted in Python onSeptember 08, 2020

1、get方法请求接口

url:显而易见,就是接口的地址url啦

headers:请求头,例如:content-type = application/x-www-form-urlencoded

params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。

举个例子:

import requests
url="http://api.shein.com/login"
header={"content-type":"application/x-www-form-urlencoded"}
param={"user_id":123456,"email":"123456@163.com"}
timeout=0.5
response = requests.get(url, headers=header, params=param, timeout=timeout)
# response = requests.request("get",url,headers=header,params=body,timeout=timeout)
print (response.text)

2、post方法请求接口

import requests

url="http://api.shein.com/login"

header={"content-type":"application/x-www-form-urlencoded"}

param={"user_id":123456,"email":"123456@163.com"}

timeout=0.5

response = requests.post(url, headers=header, data=param, timeout=timeout)

# response = requests.request("post",url,headers=header,data=param,timeout=timeout)

print (response.text)
import requests

url = "https://apipc.xinqgj.com/user/login"
payload = {"phone":"17779828887","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8Uznj"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)
print(response.text)

3、requests.Session()请求接口

import requests

session = requests.Session()  #定义全局session,通过 session 保持会话
class Cms():

  def login(self):
    url = "http://192.168.1.110:8080/cms/manage/loginJump.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"userAccount": "admin", "loginPwd": "123456"}
    #通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

  def queryUserList(self):
    url = "http://192.168.1.110:8080/cms/manage/queryUserList.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"startCreateDate":"",
         "endCreateDate":"",
         "searchValue":"",
         "page":"1"}
    # 通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

if __name__ == '__main__':
  Cms().login()
  Cms().queryUserList()

注意:Python requests模块params、data、json的区别

  • requests 模块发送请求有 data、json、params 三种携带参数的方法。
  • params 在 get 请求中使用,data、json 在 post 请求中使用
    • 常见的 form 表单可以直接使用 data 参数进行报文提交,data 的对象则是 python 中的字典类型
    • 如果数据是 json 格式的参数,可直接使用 json 参数进行报文提交

4、接口的返回值操作

text:获取接口返回值的文本格式

json():获取接口返回值的json()格式

status_code:返回状态码(成功为:200)

headers:返回完整的响应头信息(headers['name']:返回指定的headers内容)

encoding:返回字符编码格式

url:返回接口的完整url地址

import requests

url = "https://xxxx.com/user/login"
payload = {"phone":"1777982xxxx","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8UznjaGsQ5A/nKPSH1NZW"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)

print(response.text)
print(response.json())
print(response.status_code)
print(response.url)
print(response.headers)
print(response.encoding)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
python自定义解析简单xml格式文件的方法
May 11 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
对Python中9种生成新对象的方法总结
May 23 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
Python中if有多个条件处理方法
Feb 26 Python
python中常见错误及解决方法
Jun 21 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
python3中TQDM库安装及使用详解
Nov 18 Python
基于tensorflow权重文件的解读
May 26 Python
Python unittest装饰器实现原理及代码
Sep 08 #Python
Python selenium环境搭建实现过程解析
Sep 08 #Python
Python unittest生成测试报告过程解析
Sep 08 #Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 #Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 #Python
Django模型验证器介绍与源码分析
Sep 08 #Python
Python unittest discover批量执行代码实例
Sep 08 #Python
You might like
php cache类代码(php数据缓存类)
2010/04/15 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP实现递归无限级分类
2015/10/22 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
为数据添加append,remove功能
2006/10/03 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
python3中property使用方法详解
2019/04/23 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
精伦电子Java笔试题
2013/01/16 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
shallow copy和deep copy的区别
2016/05/09 面试题
护理自我鉴定范文
2013/10/06 职场文书
初中学生评语大全
2014/04/24 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
居安思危观后感
2015/06/11 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python
vue+springboot实现登录验证码
2021/05/27 Vue.js
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server