Python接口对json串的处理

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

粗略了解,待深入学习

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值