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的Django框架中settings文件的部署建议
May 30 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
python实现屏保计时器的示例代码
Aug 08 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
jupyter notebook 实现matplotlib图动态刷新
Apr 22 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP 创建标签云函数代码
2010/05/26 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
Python中bisect的用法
2014/09/23 Python
python实现删除文件与目录的方法
2014/11/10 Python
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python中的字典遍历备忘
2015/01/17 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python必须了解的35个关键词
2020/07/16 Python
Python如何操作docker redis过程解析
2020/08/10 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
Java的五个基础面试题
2016/02/26 面试题
应聘编辑职位自荐信范文
2014/01/05 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
高一英语教学反思
2016/03/03 职场文书
六年级语文教学反思
2016/03/03 职场文书