UI模式

2018-10-30 15:15 更新

自動(dòng)化測(cè)試(簡(jiǎn)易模式)簡(jiǎn)介

eoLinker是目前第一個(gè)支持在線(xiàn)API自動(dòng)化測(cè)試的平臺(tái),eoLinker AMS提供了兩種自動(dòng)化測(cè)試方案:

  1. 簡(jiǎn)易模式:全UI界面,無(wú)需編寫(xiě)任何代碼即可完成稍復(fù)雜的API測(cè)試工作
  2. 高級(jí)模式:代碼界面,通過(guò)編寫(xiě)極少的Javascript代碼,即可實(shí)現(xiàn)強(qiáng)大的API自動(dòng)化測(cè)試

一般而言,自動(dòng)化測(cè)試涉及以下幾個(gè)方面:

  1. 自由設(shè)定API測(cè)試順序;
  2. API之間存在數(shù)據(jù)關(guān)聯(lián),比如后面接口的請(qǐng)求參數(shù)會(huì)綁定前面接口的返回結(jié)果等;
  3. 支持對(duì)返回結(jié)果進(jìn)行校驗(yàn);
  4. 支持對(duì)數(shù)據(jù)進(jìn)行處理,比如在測(cè)試登錄接口時(shí)對(duì)密碼進(jìn)行加密等;
  5. 支持高級(jí)的代碼用例,可以用代碼來(lái)實(shí)現(xiàn)控制測(cè)試流程的目的,一般語(yǔ)言有js;
  6. eoLinker支持上述提到的所有功能,并且是目前全球唯一一款支持UI界面創(chuàng)建自動(dòng)化測(cè)試的產(chǎn)品,用于自動(dòng)化測(cè)試非常方便,并且用戶(hù)體驗(yàn)相比于Postman等工具要好許多。

一.單例和用例

單例 是自動(dòng)化測(cè)試下面的一個(gè)基本單位,通俗地講,單例 也就是“單個(gè)API的測(cè)試條件和結(jié)果”。比如有一個(gè)用戶(hù)登錄接口,傳遞abc和123作為請(qǐng)求參數(shù),然后返回”O(jiān)K”作為成功的結(jié)果。

用例 則是多個(gè) 單例 的合集,一個(gè) 用例 可以包含1~無(wú)限個(gè)的 單例,并且把這些 單例 按順序組合起來(lái)。比如測(cè)試完整的用戶(hù)登錄流程(注冊(cè)-登錄-判斷登錄狀態(tài)-退出登錄)。


二.環(huán)境變量

和Postman一樣,eoLinker也提供了環(huán)境變量的功能,幫助用戶(hù)快速對(duì)測(cè)試API的環(huán)境進(jìn)行切換,而不需要對(duì)API進(jìn)行修改(比如開(kāi)發(fā)和生產(chǎn)環(huán)境的參數(shù)和地址可能不同)。

不同的是,eoLinker的環(huán)境變量功能要更加強(qiáng)大,除了設(shè)置全局變量,eoLinker里面可以設(shè)定所有API的地址前綴、請(qǐng)求頭部等信息。

在環(huán)境管理中創(chuàng)建好環(huán)境,在自動(dòng)化測(cè)試的時(shí)候就可以根據(jù)不同的環(huán)境隨時(shí)切換,非常方便。


三.創(chuàng)建單例

如果你已經(jīng)在接口管理中把API信息錄入完畢,那么在創(chuàng)建單例的時(shí)候可以直接將接口文檔導(dǎo)入,節(jié)約絕大多數(shù)的時(shí)間。或者我們也可以手動(dòng)去錄入單例的信息。

其中包括:

  1. 單例名稱(chēng)
  2. API URL
  3. 請(qǐng)求參數(shù)
  4. 返回結(jié)果的判斷條件

由于本篇文章介紹的是簡(jiǎn)易模式的自動(dòng)化測(cè)試,以上的所有操作都將在UI界面中完成,不需要編寫(xiě)任何代碼,操作上要簡(jiǎn)單許多。


四.設(shè)置單例之間的數(shù)據(jù)關(guān)聯(lián)

回顧剛才提到的用戶(hù)登錄流程(注冊(cè)-登錄-判斷登錄狀態(tài)-退出登錄),在這里我們發(fā)現(xiàn)除了第一個(gè)注冊(cè)API之外,其余的API的請(qǐng)求參數(shù)或多或少會(huì)使用到前一個(gè)或幾個(gè)API的返回值。比如登錄的用戶(hù)名密碼是注冊(cè)的用戶(hù)名密碼,判斷登錄狀態(tài)需要知道登陸之后的token等。

eoLinker的自動(dòng)化測(cè)試也提供了這樣的功能,可以用圖形化的界面非常方便地設(shè)置API之間的數(shù)據(jù)關(guān)聯(lián)。我們?cè)谔顚?xiě)單例的請(qǐng)求參數(shù)信息時(shí),右側(cè)會(huì)出現(xiàn)“關(guān)聯(lián)”的按鈕,點(diǎn)擊之后就可以選擇該請(qǐng)求參數(shù)需要關(guān)聯(lián)哪一個(gè)API的返回結(jié)果。


五.設(shè)置結(jié)果校驗(yàn)規(guī)則

接下來(lái)對(duì)單例的返回結(jié)果進(jìn)行判斷,這里eoLinker 提供了4種校驗(yàn)方式:

  1. 不校驗(yàn):任何返回結(jié)果均判斷為正確
  2. Json校驗(yàn):根據(jù)Json的結(jié)構(gòu)以及數(shù)據(jù)進(jìn)行判斷,如有匹配則判斷為成功
  3. XML校驗(yàn):根據(jù)XML的結(jié)構(gòu)以及數(shù)據(jù)進(jìn)行判斷,如有匹配則判斷為成功
  4. 完全匹配:返回結(jié)果必須完全等于(==)匹配規(guī)則,如有匹配則判斷為成功
  5. 正則匹配:使用正則表達(dá)式去匹配返回結(jié)果,如有匹配則判斷為成功

除此之外,還提供了兩個(gè)額外選項(xiàng):

  1. 測(cè)試失敗依然往下執(zhí)行:如勾選該選項(xiàng),則當(dāng)該 單例 判斷為失敗時(shí)依然會(huì)往下執(zhí)行 當(dāng)前用例 中的其他單例,否則會(huì)直接終止 當(dāng)前用例 的測(cè)試。
  2. HTTP Status Code校驗(yàn):可以設(shè)置校驗(yàn)的HTTP狀態(tài)碼,如返回的必須為狀態(tài)碼必須為200。

(下圖為Json校驗(yàn)的例子:HTTP狀態(tài)碼必須為200,并且Json中的status字段必須為”000000”;如果該 單例 測(cè)試失敗,不會(huì)繼續(xù)往下執(zhí)行 當(dāng)前用例 中的其他單例。)


六.進(jìn)行自動(dòng)化測(cè)試

編輯完所有的 單例 之后,就進(jìn)入到最后的測(cè)試階段。eoLinker可以對(duì) 單例 單獨(dú)做測(cè)試,也可以進(jìn)行批量的用例測(cè)試。在 用例 中點(diǎn)擊測(cè)試按鈕就會(huì)把所有的API測(cè)試一遍,然后遇到報(bào)錯(cuò)還會(huì)提供相關(guān)的反饋信息,比如和預(yù)設(shè)的結(jié)果對(duì)比。


七.完整實(shí)例

  1. 創(chuàng)建注冊(cè)單例

  2. 設(shè)定請(qǐng)求參數(shù)和返回結(jié)果的判斷條件

  3. 類(lèi)比創(chuàng)建后續(xù)的API單例,但是可以為請(qǐng)求參數(shù)加上關(guān)聯(lián)條件(下圖中token綁定了上一個(gè)登錄接口的返回token值)

  4. 測(cè)試并檢查返回結(jié)果

  5. 測(cè)試完畢,整個(gè)過(guò)程不超過(guò)10分鐘,并且以后每當(dāng)項(xiàng)目更新之后都可以跑一遍所有的自動(dòng)化測(cè)試,極大的節(jié)省了開(kāi)發(fā)測(cè)試的時(shí)間。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)