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计算三角函数之asin()方法的使用
May 15 Python
python如何生成各种随机分布图
Aug 27 Python
python+splinter自动刷新抢票功能
Sep 25 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
python实现梯度下降法
Mar 24 Python
python time.strptime格式化实例详解
Feb 03 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 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
CodeIgniter框架URL路由总结
2014/09/03 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
vue实现购物车加减
2020/05/30 Javascript
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
万能检讨书
2015/01/27 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
MySQL开启事务的方式
2021/06/26 MySQL
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL