API測試代碼注入

2018-02-28 11:35 更新
eoLinker提供了非常強大的在線API接口測試功能,在使用之前,請先確保已經(jīng)安裝 eoLinker自動化測試增強插件 ,該插件為您提供了API的在線、跨域、文件以及自動化測試的功能。

接口測試的過程中經(jīng)常有些參數(shù)的值是不固定的,或者是需要先進行數(shù)據(jù)處理再行發(fā)送,比如新增環(huán)境變量、對url進行轉碼、對參數(shù)進行加密等。相比于一般的接口測試,這些需要對參數(shù)做事先處理的接口在測試的時候更加繁瑣。

對于這種類型的接口,eoLinker提供了 代碼注入 功能,通過通過編寫 Javascript 或 Jquery 代碼幫助您在發(fā)送請求前后對數(shù)據(jù)進行處理。


其中代碼注入提供了兩種注入方式:

  1. 前置代碼注入(beforeScript):通過代碼改變 發(fā)送的參數(shù);
  2. 后置代碼注入(beforeScript):通過代碼改變 返回的結果;

前置代碼注入(beforeScript):

為了方便用戶操作,eoLinker 前置代碼注入提供了一系列的默認變量供用戶操作。

API基礎信息:

  1. url:[String] API的URL
  2. headers:[Object] 請求頭部
  3. params:[Object] 請求參數(shù)(HTTP Request Body中的參數(shù))
  4. query:[Object] URL中的查詢字符串(?x=123&y=456...)
  5. raw:[String] 源數(shù)據(jù)

環(huán)境變量:

  1. baseUrl:[String] 前置url
  2. headers:[Object] 請求頭部
  3. extraParams:[Object] 額外請求參數(shù)
  4. globalParams:[Object] 全局變量

后置代碼注入(beforeScript):

API返回結果

  1. response:[String] 返回結果

案例一(前置代碼注入):

有一個登錄接口,需要傳遞三個參數(shù):

  1. userName(用戶名):普通字符串;
  2. userPassword(用戶密碼):需要使用自定義加密方法對密碼進行加密(此處是aes加密)
  3. loginTime(登錄時間):當前系統(tǒng)時間戳,以GET參數(shù)傳遞。

我們根據(jù)接口需求編寫好前置用例代碼

發(fā)送請求之后,可以發(fā)現(xiàn)相應的參數(shù)部分內(nèi)容已經(jīng)被修改(下圖紅框部分):

案例二(后置代碼注入):

API的返回結果采用了AES加密,我們需要使用后置注入代碼將返回結果解密,便于查看:

在后置代碼注入中寫好對結果進行解密的DES函數(shù):

發(fā)送請求后,成功解密

案例三(在代碼注入中使用環(huán)境變量):

在該API中,請求參數(shù)userName使用了環(huán)境變量中的全局變量{{name}}:

在前置代碼注入中對環(huán)境變量進行操作:

發(fā)送請求之后,可以看到相應部分的參數(shù)已經(jīng)被環(huán)境變量替換:


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號