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采用raw_input读取输入值的方法
Aug 18 Python
寻找网站后台地址的python脚本
Sep 01 Python
python基于socket实现网络广播的方法
Apr 29 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
Django框架创建mysql连接与使用示例
Jul 29 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
python 安装移动复制第三方库操作
Jul 13 Python
Python 如何展开嵌套的序列
Aug 01 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 Python
如何用Python搭建gRPC服务
Jun 30 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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木马攻击防御之道
2008/03/24 PHP
PHP 类型转换函数intval
2009/06/20 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
jQuery事件详解
2017/02/23 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
一篇.NET面试题
2014/09/29 面试题
计算机专业自荐信
2013/10/14 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
公务员诚信承诺书
2014/05/26 职场文书