浅谈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实现从脚本里运行scrapy的方法
Apr 07 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
python opencv之SURF算法示例
Feb 24 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
python+selenium实现12306模拟登录的步骤
Jan 21 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
python实现录制全屏和选择区域录屏功能
Feb 05 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中的加密功能
2006/10/09 PHP
第十二节--类的自动加载
2006/11/16 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
javascript函数库-集合框架
2007/04/27 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
python range实例用法分享
2020/02/06 Python
在Python中实现字典反转案例
2020/12/05 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
面包店的创业计划书范文
2014/01/16 职场文书
心理健康课教学反思
2014/02/13 职场文书
企业宗旨标语
2014/06/10 职场文书
大学生工作求职信
2014/06/23 职场文书
英语系本科生求职信
2014/07/15 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
公司市场部岗位职责
2015/04/15 职场文书
旅游投诉信范文
2015/07/02 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers