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

作者:ShangriDong 时间:2022-07-30 13:03:49 

最近学习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'])

粗略了解,待深入学习!

来源:https://blog.csdn.net/dongqiushan/article/details/52329767

标签:Python,接口,json
0
投稿

猜你喜欢

  • python爬取天气数据的实例详解

    2022-08-26 22:28:46
  • Python程序员面试题 你必须提前准备!

    2023-09-12 09:52:44
  • 从Node.js事件触发器到Vue自定义事件的深入讲解

    2024-05-03 15:54:28
  • Python Celery异步任务队列使用方法解析

    2023-05-18 02:34:53
  • Scrapy将数据保存到Excel和MySQL中的方法实现

    2024-01-21 07:02:15
  • python中图像通道分离与合并实例

    2021-04-02 00:09:48
  • mysql安装图解总结

    2024-01-15 04:12:21
  • mysql 8.0.21免安装版配置方法图文教程

    2024-01-23 17:52:53
  • python使用pymysql实现操作mysql

    2024-01-15 17:32:17
  • 深入MYSQL字符数字转换的详解

    2024-01-18 04:20:11
  • 通过索引优化含ORDER BY的MySQL语句

    2010-03-13 12:20:00
  • 超详细的Python安装第三方库常用方法汇总

    2023-08-26 08:54:47
  • Python读取ini文件、操作mysql、发送邮件实例

    2024-01-14 17:27:31
  • pyinstaller打包django项目的实现步骤

    2022-08-17 14:28:15
  • 用javascript替换URL中的参数值示例代码

    2023-08-30 03:58:09
  • 关于msyql事务隔离你要知道

    2024-01-27 11:07:31
  • python中利用队列asyncio.Queue进行通讯详解

    2023-02-13 03:52:58
  • Python根据区号生成手机号码的方法

    2022-02-20 21:58:29
  • 基于go实例网络存储协议详解

    2024-04-25 13:19:30
  • Python骚操作完美实现短视频伪原创

    2023-09-18 08:16:55
  • asp之家 网络编程 m.aspxhome.com