qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          兩款REST測試工具

            用CURL命令行測試REST API 無疑是低效率的,這里把最近使用的兩款 Chrome 插件總結(jié)下
            POSTMAN
            簡單易用
            REST Console
            功能強大
            使用的話用POSTMAN就夠用了,但是我更喜歡 REST Console ,因為她的功能非常強大和全面,一下子就能讓你搞清楚你在做的事情,你用不到的功能也可以幫助你更加了解 REST, http請求的過程。
            下面是兩個的截圖界面
            1. POSTMAN 測試工具
            1. Authorization
            Basic Auth
            Digest Auth
            OAuth 1.0
            2. REQUEST METHOD
            GET, PUT, POST, PATCH, DELETE, LINK, UNLINK, COPY, HEAD, OPTIONS, PURGE
            3. Request Headers
          Content-Type:
          form-data
          x-www-form-urlencoded
          raw
          Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryVQuD0ghtRqDehBQH
          Request Payload:
          ------WebKitFormBoundaryVQuD0ghtRqDehBQH
          Content-Disposition: form-data; name="image"
          dddddd
          ------WebKitFormBoundaryVQuD0ghtRqDehBQH--
          Content-Type:application/x-www-form-urlencoded
          Form Data:
          image:bbbbbbb
          Content-Type:text/plain;charset=UTF-8
          Request Payload:
          image=aaaaaaaaaaaaaa
            這3種方法其中 form-data 是不支持 PUT 方法的。而用REST Console中的 Content-Type:multpart/form-data 是支持 PUT 方法的。不知道是不是bug
            4. Response Body
            支持3種展示方式, 以及常用的XML和JSON格式。
            Pretty
            Raw
            Preview
            JSON/XML
            5. Response Header
          Connection →
          Connection
          Options that are desired for the connection
          Keep-Alive
          Content-Length →93
          Content-Type →application/json; charset=UTF-8
          Date →Fri, 01 Aug 2014 05:41:56 GMT
          Keep-Alive →timeout=5, max=100
          Server →Apache/2.2.9 (Win32) PHP/5.4.30 mod_fcgid/2.3.6
          X-Powered-By →PHP/5.4.30
           2. REST Console 測試工具
            1. Options
            軟件相關(guān)設(shè)置,配色,主題,高亮設(shè)置等(說明這個東東功能比較全面)
            特別說下一個選項就是 Help Lines, 開啟這個選項,對著 REST Console的每一個選項,就很容易搞清楚 http 的 請求和響應(yīng)中的每一個項目是怎么回事
            原創(chuàng)文章,轉(zhuǎn)載請注明 : http://www.cnblogs.com/ganiks/
            2. Target
            設(shè)置下面內(nèi)容:
          Target
          Request URI : 這個是請求的 URI
          Request Method : PUT POST ...
          Request Timeout
          Accept
          Accept: (注意區(qū)分這個type和后面的content-type)
          */*(一般都是這個選項)
          application/atom+xml
          test/plain
          application/javascript
          application/json
          application/http
          application/pdf
          application/rar
          ... ...
          Acceptable Language
            3. Body
            Content Headers
            Content-Type: mime type of the request body(跟PUT和POST方法配合使用)
            application/x-www-form-urlencoded
            text/plain
            multipart/form-data
            這3種是在 POSTMAN中支持的3種,但其實有很多很多種,在 REST Console 中的輸入框中輸入幾個字母,會自動匹配庫中的很多選項
            Acceptable Encoding: 比如 utf-8(參考 HTTP compression)
            Content-MD5: 比如 Q2hlY2sgSW50ZWdyaXR5IQ==
            Request Payload
            RAW BODY: image=ccccccccc
            Request Params: key=>value
            Attachements: upload files
            Custom Headers
            Request Parameters
            對照個例子:
          Accept:*/*
          Accept-Encoding:gzip,deflate,sdch
          Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
          Authorization:Basic MTAwLXRva2VuOg==
          Cache-Control:no-cache
          Connection:keep-alive
          Content-Length:20
          Content-Type:text/plain;charset=UTF-8
          Host:192.168.4.126
          Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
          User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
            4. Authorization
            Basic Auth
            Setup oAuth
            Refresh oAuth
            5. Headers
            Headers
            Max-Forwards: 10 (限制消息可以穿破 的代理和網(wǎng)關(guān)的層數(shù))
            Range
            From: (發(fā)送消息者的郵件地址)
            Warning
            Pragma
            ...
            Cache (內(nèi)容太多了)
            Common non-standard request headers
            6. Response
          Response Body: 支持 JSON XML HTML CSS 等高亮格式
          {
          "id": "162",
          "image": "cccccccc",
          "link": "dd2",
          "show_date": "0000-00-00",
          "state": 1,
          "show_order": 0
          }
          RAW Body
          {"id":"162","image":"cccccccc","link":"dd2","show_date":"0000-00-00","state":1,"show_order":0}
          Response Headers
          Status Code: 200
          Date: Fri, 01 Aug 2014 06:39:00 GMT
          Server: Apache/2.2.9 (Win32) PHP/5.4.30 mod_fcgid/2.3.6
          Connection: Keep-Alive
          X-Powered-By: PHP/5.4.30
          Content-Length: 94
          Keep-Alive: timeout=5, max=100
          Content-Type: application/json; charset=UTF-8
          Response Preview
          Request Body
          Request Url: http://192.168.4.126/news/162
          Request Method: PUT
          Status Code: 200
          Params: {}
          Request Headers
          Content-Type: multipart/form-data
          Authorization: Basic MTAwLXRva2VuOg==
          Accept: */*
          Connection: keep-alive
          Origin: chrome-extension: //rest-console-id
          User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
            3. http請求的Accept參數(shù)
            上面提到了一個設(shè)置的地方, Accept 和 Content-Type
            這兩個參數(shù)很重要
            前者一般如果不設(shè)置默認(rèn)的是 */*, POSTMAN 和 RESTConsole 工具中默認(rèn)的是 application/json,因此在不設(shè)置 Headers:Accept 參數(shù)的情況下返回的按照 json格式;
            而普通的瀏覽器中返回的則默認(rèn)是 application/xml 格式。
            后者這個 type 指的是head body 內(nèi)容的 類型
            這就是為什么這兩個參數(shù)分別被 REST Console 工具分別放在了 2. Target 3. Body 中。
            在 yii 中默認(rèn)支持的 rest api 格式有 xml 和 JSON, yii 會根據(jù) 請求的 head 的 Accept 參數(shù)來返回對應(yīng)格式的數(shù)據(jù)。
            這個參數(shù) 在chrome 中可以修改默認(rèn)值嗎?

          posted on 2014-08-28 09:46 順其自然EVO 閱讀(7087) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 凤山市| 古交市| 通辽市| 平武县| 屏东县| 平远县| 修文县| 桓台县| 临猗县| 平原县| 江孜县| 天津市| 建水县| 静宁县| 平遥县| 乌拉特中旗| 阳西县| 旬邑县| 乡城县| 宜昌市| 阳信县| 富锦市| 静乐县| 黎平县| 修文县| 高安市| 西乌珠穆沁旗| 和顺县| 凤凰县| 弋阳县| 东丽区| 遂平县| 墨江| 泾源县| 台州市| 清涧县| 台中县| 鸡西市| 汝南县| 公安县| 内江市|