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

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

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

 

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

JSON測試的參數替換

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

 

{
  "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 ,那麼你可以直接這樣寫:

commonRegionId#860000| phoneNum #137777777| certNum#8777662 

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

 

如果是針對上面的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,羣內會有不定期的發放免費的資料鏈接~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章