溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談Python接口對json串的處理方法

發(fā)布時間:2020-10-15 01:56:51 來源:腳本之家 閱讀:189 作者:ShangriDong 欄目:開發(fā)技術

最近學習Python接口測試,對于接口測試完全小白。大概一周的學習成果進行總結。

1.接口測試:

目前涉及到的只是對簡單單一的接口進行參數(shù)傳遞,得到返回自。

2.關于各種概念:

2.1 http請求包含post方法、get方法。通過json串或XML傳遞,但后者未做研究

2.2 GET: 瀏覽器告訴服務器,只獲取頁面信息,并發(fā)送給我。

2.3 POST:瀏覽器告訴服務器想法不一些信息到某個網(wǎng)址,服務器需確保數(shù)據(jù)被存儲且只存儲一次。

2.4 HEAD:瀏覽器告訴服務器,給我消息頭,像get那樣被接收。

2.5 Python對數(shù)據(jù)的處理模塊可以使用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方法調(diào)用
    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方法調(diào)用
    if method=='POST':
      if postparams != "":
        data = urllib.urlencode(postparams)
        req = urllib2.Request(data)
      response = urllib2.urlopen(req)
      result = response.read()

    #result轉(zhuǎn)為json數(shù)據(jù)
    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串的處理方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI