超簡單兩招搞定JSON接口自動化測試(RESTful API)

純文本協議模板構造JSON請求

上一個版本發佈後,有一些同窗反饋,舊版的協議模板( 表單模式)使用 ,在測試restfull 接口(json格式)的時候,仍是有一些懵,不知道怎麼下手,感受沒有其餘工具直接複製一個純文件JSON來得直接跟方便。面試

 

因此在LuckyFrame V2.7版本中,新增長了一個純文本模式構建請求的功能,你能夠直接 複製 JSON字符串到純文本請求文本域中了,見下圖:json

JSON測試的參數替換

那麼問題來了,若是在用例步驟中,我想替換純文本中某個key的value,要怎麼替換呢,好比上圖中的json串格式化後是如下這樣的:restful

 

{
  "ContractRoot": {
    "SvcCont": {
      "staffCode": "-1",
      "channelNbr": "-1",
      "traceId": "",
      "commonRegionId": "地區ID--須要參數化",
      "certPhoneNumRel": [
        {
          "phoneNum": "手機號碼--須要參數化",
          "certAddress": "湖北省京山縣新市鎮沿河南路321號附3號43戶",
          "gPartyId": "",
          "certNum": "身份證號碼1--須要參數化",
          "certType": "1",
          "custName": "張三",
          "actionType": "12",
          "serviceType": "1800",
          "lanId": "8420100"
        },
        {
          "phoneNum": "手機號碼--須要參數化",
          "certAddress": "湖北省京山縣新市鎮沿河南路66號附12號1098戶",
          "gPartyId": "",
          "certNum": "身份證號碼2--須要參數化",
          "certType": "1",
          "custName": "李四",
          "actionType": "12",
          "serviceType": "1800",
          "lanId": "8420100"
        }
      ]
    },
    "TcpCont": {
      "TransactionID": "6002020001201707100000668354",
      "ReqTime": "20170710105338",
      "Method": "order.party.modCertPhoneNumRel",
      "Sign": "e3dfbb6619f04409a9845c09e664fae2",
      "Version": "V1.0",
      "AppKey": "6002020001"
    }
  }
}

例子: 我想把上面JSON字符串中的commonRegionId、第一個phoneNum(張三的)、第二個 certNum (李四的)三個key中的默認值替換掉。工具

 

首先要明確的是,這裏有三個參數須要替換。而在接口測試中參數替換的通用語法爲:性能

參數1#替換參數值|參數2#替換參數值|參數3#替換參數值測試

 

因此, 在整個json串中,若是沒有重複的key ,那麼你能夠直接這樣寫:spa

commonRegionId#860000| phoneNum #137777777| certNum#8777662 3d

很明顯這種寫法只能應對整個JSON中沒有重複key的狀況rest

 

若是是針對上面的JSON串,在 phoneNum、 phoneNum都存在重複的狀況下,咱們應該怎麼寫呢?接口

重點來了:若是key存在重複,那麼你能夠寫成key[ index ]   index指的是key在整個字符串中的序號,表示你 要替換同名key中的第幾個, 若是你有key後面沒有帶[ index ],會默認替換這個key的第一個。

寫法一:會替換 commonRegionId、第一個phoneNum(張三的)、第一個 certNum (張三的)

commonRegionId#860000| phoneNum #137777777| certNum#8777662

 

 

寫法 二:會替換commonRegionId、第一個phoneNum(張三的)、第二個certNum(李四的)

commonRegionId#860000| phoneNum #137777777| certNum[2]#8777662

 

寫法 三:會替換commonRegionId、第一個phoneNum(張三的)、第二個certNum(李四的)

commonRegionId#860000| phoneNum[1] #137777777| certNum[2]#8777662

 

 

以上三種寫法,寫法二和寫法三都能知足例子中的需求。

使用起來是否是很簡單呢,若是你看明白了,就手動點個贊留個言吧!

若是對軟件測試、接口測試、自動化測試、性能測試、LR腳本開發、面試經驗交流。感興趣能夠175317069,羣內會有不按期的發放免費的資料連接~

相關文章
相關標籤/搜索