浅谈Python接口对json串的处理方法


Posted in Python onDecember 19, 2018

最近学习Python接口测试,对于接口测试完全小白。大概一周的学习成果进行总结。

1.接口测试:

目前涉及到的只是对简单单一的接口进行参数传递,得到返回自。

2.关于各种概念:

2.1 http请求包含post方法、get方法。通过json串或XML传递,但后者未做研究

2.2 GET: 浏览器告诉服务器,只获取页面信息,并发送给我。

2.3 POST:浏览器告诉服务器想法不一些信息到某个网址,服务器需确保数据被存储且只存储一次。

2.4 HEAD:浏览器告诉服务器,给我消息头,像get那样被接收。

2.5 Python对数据的处理模块可以使用urllib、urllib2模块或requests模块

3.urllib、urllib2实例

#coding=utf_8
import urllib2,urllib
import json
import unittest,time,re

class APITest():
  """
  接口测试类
  """
  def api_test(self, method, url, getparams, postparams):
    str1 = ''

    #GET方法调用
    if method == 'GET':
      if getparams != "":
        for x in getparams:
          str1 = str1 + x + '=' + urllib2.quote(str(getparams.get(x)))
          if len(getparams) > 2:
            str1 = str1 + "&"
        url = url + "&" + str1

      result = urllib2.urlopen(url).read()

    #POST方法调用
    if method=='POST':
      if postparams != "":
        data = urllib.urlencode(postparams)
        req = urllib2.Request(data)
      response = urllib2.urlopen(req)
      result = response.read()

    #result转为json数据
    jsdata = json.loads(result)
    return jsdata

class APIGetRes(unittest.TestCase):
  def test_call(self):
    api = APITest()
    getparams={'keyword':'测试'}
    postparams=''
    data = api.api_test('GET','http://api.zhongchou.cn/deal/list?v=1',getparams,postparams)
    print data
    if (data['errno']!=""):
      self.assertEqual(0, data['errno'])
      print"接口 deal/list-------------OK!"
    else:
      print"接口 deal/list-------------Failure!"
      self.assertEqual(0, data['errno'])

if __name__ == '__main__':
  unittest.main()

Requests实例

#coding=utf_8
import requests
import json
import unittest,time,re


class APIGetAdlis(unittest.TestCase):
  def test_call(self):
    github_url='http://api.zhongchou.cn/deal/list?v=1'
    data = json.dumps({'keyword':'测试'})
    resp = requests.post(github_url,data)
    print resp.json
    #if (data['errno']!=''):
    #  self.assertEqual(0, data['errno'])
    #  print"接口 deal/list-------------OK!"
    #else:
    #  print"接口 deal/list-------------Failure!"
    #  self.assertEqual(0, data['errno'])

粗略了解,待深入学习!

以上这篇浅谈Python接口对json串的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python异常处理总结
Aug 15 Python
python MySQLdb Windows下安装教程及问题解决方法
May 09 Python
python对象及面向对象技术详解
Jul 19 Python
python 文件操作api(文件操作函数)
Aug 28 Python
python判断字符串或者集合是否为空的实例
Jan 23 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
python获取命令行参数实例方法讲解
Nov 02 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
python实现的MySQL增删改查操作实例小结
Dec 19 #Python
python3 http提交json参数并获取返回值的方法
Dec 19 #Python
python3.6使用urllib完成下载的实例
Dec 19 #Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 #Python
对python内置map和six.moves.map的区别详解
Dec 19 #Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 #Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 #Python
You might like
PHP函数utf8转gb2312编码
2006/12/21 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
JS中==与===操作符的比较
2009/03/21 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python Json序列化与反序列化的示例
2018/01/31 Python
python 日志增量抓取实现方法
2018/04/28 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
售后服务科岗位职责范文
2013/11/13 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
同学会邀请函模板
2015/01/30 职场文书
观看建国大业观后感
2015/06/01 职场文书
小学班级标语口号大全
2015/12/26 职场文书