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虚拟环境virtualenv的安装与使用详解
May 28 Python
Python pymongo模块用法示例
Mar 31 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
浅谈python之新式类
Aug 12 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
全面了解django的缓存机制及使用方法
Jul 22 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
numpy.array 操作使用简单总结
Nov 08 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
Django Form常用功能及代码示例
Oct 13 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
Oct 16 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环境搭建最新方法
2006/09/05 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python实现闹钟定时播放音乐功能
2018/01/25 Python
python Tkinter版学生管理系统
2019/02/20 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
数控专业自荐书范文
2014/03/16 职场文书
大学生社会实践方案
2014/05/11 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
2014年会计工作总结
2014/11/27 职场文书
大学教师个人总结
2015/02/10 职场文书
《秋思》教学反思
2016/02/23 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript