浅谈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