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实现simhash算法实例
Apr 25 Python
python中的__slots__使用示例
Feb 26 Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
FFrpc python客户端lib使用解析
Aug 24 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
python 实现任务管理清单案例
Apr 25 Python
Python Django搭建网站流程图解
Jun 13 Python
python 调用API接口 获取和解析 Json数据
Sep 28 Python
Python高并发和多线程有什么关系
Nov 14 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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 一个随机字符串生成代码
2010/05/26 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
javascript面向对象之二 命名空间
2011/02/08 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python处理Excel文件实例代码
2017/06/20 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
大专毕业生简历的自我评价
2013/10/20 职场文书
出纳岗位职责范本
2013/12/01 职场文书
水果超市创业计划书
2014/01/27 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
项目施工员岗位职责
2014/03/09 职场文书
党员承诺践诺书
2014/05/20 职场文书
合作协议书范文
2014/08/20 职场文书
雨中的树观后感
2015/06/03 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
Html5调用企业微信的实现
2021/04/16 HTML / CSS
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL