浅谈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 random模块常用方法
Nov 03 Python
粗略分析Python中的内存泄漏
Apr 23 Python
使用python存储网页上的图片实例
May 22 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
详解python 注释、变量、类型
Aug 10 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
pymysql模块的操作实例
Dec 17 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
Mar 13 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 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动态创建Web站点的方法
2011/08/14 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
JavaScript基本对象
2007/01/11 Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
Javascript的匿名函数小结
2009/12/31 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
Python 不同对象比较大小示例探讨
2014/08/21 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
幼儿园新学期寄语
2014/01/18 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
新教师培训方案
2014/06/08 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书