浅谈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使用Socket(Https)Post登录百度的实现代码
May 18 Python
在Python的Django框架中编写编译函数
Jul 20 Python
Python Grid使用和布局详解
Jun 30 Python
python对视频画框标记后保存的方法
Dec 07 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
python中温度单位转换的实例方法
Dec 27 Python
Python中相见恨晚的技巧
Apr 13 Python
详解Python flask的前后端交互
Mar 31 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中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
Python秒算24点实现及原理详解
2019/07/29 Python
python+tkinter实现学生管理系统
2019/08/20 Python
对python中UDP,socket的使用详解
2019/08/22 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
python 对xml解析的示例
2021/02/27 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
软件测试英文面试题
2012/10/14 面试题
工作经历证明书范文
2014/11/02 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
外科护士长工作总结
2015/08/12 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python