API測(cè)試代碼注入

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

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

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


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

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

前置代碼注入(beforeScript):

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

API基礎(chǔ)信息:

  1. url:[String] API的URL
  2. headers:[Object] 請(qǐng)求頭部
  3. params:[Object] 請(qǐng)求參數(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] 請(qǐng)求頭部
  3. extraParams:[Object] 額外請(qǐng)求參數(shù)
  4. globalParams:[Object] 全局變量

后置代碼注入(beforeScript):

API返回結(jié)果

  1. response:[String] 返回結(jié)果

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

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

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

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

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

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

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

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

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)