您好,登錄后才能下訂單哦!
引言
作為開(kāi)發(fā)人員,有時(shí)需要協(xié)助市場(chǎng)部門(mén)進(jìn)行開(kāi)發(fā),比如在市場(chǎng)推廣中,經(jīng)常通過(guò)給用戶(hù)贈(zèng)送優(yōu)惠券來(lái)提高復(fù)購(gòu)率。這篇文章,將介紹如何使用接口管理工具 eoLinker 的自動(dòng)化測(cè)試?[UI模式] 構(gòu)建此業(yè)務(wù)邏輯。
關(guān)鍵詞
市場(chǎng)推廣、定時(shí)任務(wù)、數(shù)據(jù)關(guān)聯(lián)
接下來(lái),我們以給用戶(hù)贈(zèng)送優(yōu)惠券為例進(jìn)行流程的搭建。搭建完整個(gè)流程后,你會(huì)發(fā)現(xiàn)不再需要編寫(xiě)復(fù)雜的代碼了,只需簡(jiǎn)單幾步就能完成。
目錄
1、流程設(shè)計(jì)
2、流程調(diào)試
3、定時(shí)任務(wù)
4、使用tips
5、小結(jié)
我們先確定完成該業(yè)務(wù)邏輯需要用到的接口:
接口1?登錄:最基本的登錄接口,市場(chǎng)推廣人員登錄自己的賬號(hào)。
接口2?獲取用戶(hù)列表:在發(fā)放優(yōu)惠券之前,先確定用戶(hù)名單。
接口3?獲取優(yōu)惠券列表:獲取各種類(lèi)型的優(yōu)惠券。
接口4?給用戶(hù)贈(zèng)送優(yōu)惠券:以接口2和接口3的返回結(jié)果作為請(qǐng)求參數(shù)。
接口5?退出登錄:完成業(yè)務(wù)流程后,退出登錄。
按照上面的流程設(shè)計(jì),我新建了下圖中的5個(gè)接口,同時(shí)調(diào)整好正確的測(cè)試順序。
接口1 的返回參數(shù)?statusCode?,我設(shè)置了4個(gè)狀態(tài)碼,剛好對(duì)應(yīng)4種可能的情況,如果有更多可能性,可以繼續(xù)補(bǔ)充。
若API文檔已建立了相關(guān)的接口,在自動(dòng)化普通UI模式下可以批量添加已有接口。
當(dāng)我們編輯好接口,完成好對(duì)數(shù)據(jù)關(guān)聯(lián)的設(shè)置,這時(shí)候只需回到自動(dòng)化測(cè)試頁(yè)面,點(diǎn)擊“ 測(cè)試全部 ”就可以完成測(cè)試了。如何進(jìn)行數(shù)據(jù)關(guān)聯(lián)的內(nèi)容將會(huì)在下文介紹。
下圖可以看到,我們完成正確的設(shè)置后,得到了成功的測(cè)試結(jié)果。
在流程測(cè)試中,上一個(gè)接口的返回參數(shù)可能會(huì)是下一個(gè)接口的請(qǐng)求參數(shù)。這時(shí)候就需要用上?關(guān)聯(lián)數(shù)據(jù)?。比如給用戶(hù)發(fā)送優(yōu)惠券,就需要傳遞上一個(gè)接口返回的優(yōu)惠券 couponID 。下面通過(guò)兩個(gè)步驟來(lái)進(jìn)行數(shù)據(jù)關(guān)聯(lián):
點(diǎn)擊后面“關(guān)聯(lián)”按鈕,會(huì)出現(xiàn)以下彈框,選擇要關(guān)聯(lián)的數(shù)據(jù),比如下圖選中了 couponID 。
生成綁定值。如圖中 userID 和 couponID 都生成了綁定值。
<response[39677].userList.userID>參數(shù)值的格式是eoLinker規(guī)定的關(guān)聯(lián)參數(shù)形式,使用單書(shū)名號(hào)包裹的返回值 response [接口的關(guān)聯(lián)ID(可在單例列表進(jìn)行查看)].子參數(shù)。
如果返回值的子參數(shù)是數(shù)組,那就需要加元素序號(hào),第一個(gè)元素為0,以此類(lèi)推。如couponList[0]。
關(guān)聯(lián)參數(shù)可以在?請(qǐng)求頭部、請(qǐng)求體(form-data、raw),REST參數(shù)?中使用。
在調(diào)試中,測(cè)試報(bào)告也是十分重要的。
使用普通UI自動(dòng)化模式,測(cè)試完畢后,會(huì)生成詳細(xì)的測(cè)試報(bào)告,通過(guò)查看詳情就能看到完整的測(cè)試報(bào)告。如果測(cè)試失敗了,通過(guò)測(cè)試報(bào)告也能及時(shí)進(jìn)行修正。
在本文的業(yè)務(wù)流程中,我們可以通過(guò)定時(shí)測(cè)試任務(wù),讓整個(gè)流程自動(dòng)執(zhí)行。
首先在自動(dòng)化測(cè)試的二級(jí)菜單--定時(shí)測(cè)試任務(wù)中,添加該任務(wù)。添加任務(wù)之前需要添加分組,比如這里新建了“贈(zèng)送用戶(hù)優(yōu)惠券”的分組。
這里需要填寫(xiě)名稱(chēng):"給用戶(hù)贈(zèng)送優(yōu)惠券",時(shí)間設(shè)置“永久有效”,周期為“一周”,日期選擇“周一到周五的早10點(diǎn)和晚六點(diǎn)”,按照這樣的規(guī)則發(fā)送優(yōu)惠券。
在用例列表中選擇之前設(shè)置好的用例:優(yōu)惠券
確認(rèn)測(cè)試環(huán)境,填寫(xiě)我的郵箱,再選擇通知類(lèi)型。這樣設(shè)置后,以后我們只需通過(guò)查看郵件,就可以獲取接口測(cè)試的所有情況,確保接口正常運(yùn)行。
如上圖,每次的測(cè)試歷史可以在測(cè)試任務(wù)列表下載,十分方便。
有些參數(shù)需要在發(fā)送前進(jìn)行加密,例如密碼等。在 eoLinker 中,通過(guò)代碼注入功能就可以對(duì)參數(shù) userPassword 加密,比如
對(duì)于接口1,我使用 eoLinker 內(nèi)置的加密方法對(duì)請(qǐng)求參數(shù) userPassword?進(jìn)行 MD5 和 SHA1 加密。
在代碼注入功能的右側(cè)導(dǎo)航欄,eoLinker 目前內(nèi)置了包括 MD5 在內(nèi)的3種加密方式,點(diǎn)擊就可以直接調(diào)用了。如果想用其他的加密方式,只需要了解一些簡(jiǎn)單語(yǔ)法你就可以使用 Javascript、Jquery 代碼進(jìn)行加密。當(dāng)然也可以在發(fā)送前對(duì)請(qǐng)求參數(shù)做其他處理。
除了對(duì)請(qǐng)求參數(shù)進(jìn)行處理外,對(duì)返回的參數(shù)也需要進(jìn)行校驗(yàn),在這個(gè)業(yè)務(wù)中,我們只選擇特定的用戶(hù)發(fā)送相應(yīng)優(yōu)惠券,這就需要通過(guò)校驗(yàn)來(lái)對(duì)返回的參數(shù)進(jìn)行匹配。
對(duì)于接口2,我需要先對(duì)返回值進(jìn)行判斷,再?zèng)Q定自動(dòng)化測(cè)試流程是否繼續(xù),eoLinker校驗(yàn)失敗時(shí)默認(rèn)停止測(cè)試。如果不想停在這里的話(huà),可以勾選下方的“ 該用例校驗(yàn)位失敗時(shí),依然執(zhí)行下一個(gè)用例 ”。這樣即便失敗也會(huì)繼續(xù)測(cè)試下去。
下面說(shuō)一下校驗(yàn)規(guī)則
校驗(yàn)規(guī)則:
statusCode為字符串000000
列表中的couponID是1,couponName為滿(mǎn)100減10
eoLinker填寫(xiě)的校驗(yàn)規(guī)則:
填寫(xiě)匹配規(guī)則的過(guò)程中,主要為參數(shù)選擇正確的類(lèi)型(string、int等)以及層級(jí)關(guān)系。比如在這里參數(shù) couponList 和 couponID 就是不同的類(lèi)型,而couponID 是 couponList 的子字段。
最后,完成任務(wù)退出登錄,這樣一個(gè)完整的業(yè)務(wù)流程就完成了。通過(guò)自動(dòng)化測(cè)試的UI模式進(jìn)行業(yè)務(wù)流程測(cè)試,既不用編寫(xiě)代碼,又能通過(guò)測(cè)試報(bào)告及時(shí)修正錯(cuò)誤,相比傳統(tǒng)的測(cè)試方式極大地提高了工作效率。
更多更新內(nèi)容請(qǐng)前往eoLinker微信公眾號(hào),本文轉(zhuǎn)自eoLinker公眾號(hào)。
立即體驗(yàn):https://www.eolinker.com
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。