當你準備使用一個接口自動化測試框架或者自造輪子的時候,或許你需要先了解下一個接口自動化測試框架必須具備什么功能蕊肥。
1谒获、校驗
這個很好了解蛤肌,如果沒有校驗壁却,單純的執(zhí)行接口的話,那就談不上測試了裸准。所以支持對返回值校驗是一個必須的功能展东。
2、數(shù)據(jù)隔離
數(shù)據(jù)隔離就是指具體的請求接口炒俱、參數(shù)盐肃、校驗等數(shù)據(jù)做到與代碼相隔離,便于維護权悟,一旦需要調(diào)整接口用例砸王、新增接口用例時可很快速的找到位置,隔離的另一個好處就是可復(fù)用峦阁,框架可以推廣給其他團隊谦铃,使用者可以使用相同的代碼,只需要根據(jù)要求填寫各自用例即可測試起來榔昔。
3驹闰、數(shù)據(jù)傳遞
做到數(shù)據(jù)隔離可維護后,數(shù)據(jù)傳遞是另外一個更重要的需求撒会。
數(shù)據(jù)傳遞是指接口用例之間可以做到向下傳參嘹朗,例如我們通過創(chuàng)建訂單接口創(chuàng)建一個訂單,該接口會返回一個訂單號诵肛,接下來我們要進行調(diào)用查詢訂單的接口屹培,從返回的數(shù)據(jù)中與創(chuàng)建訂單用例中的數(shù)據(jù)進行校驗,此時第二個接口的請求數(shù)據(jù)是需要從第一個接口用例中的返回中提取的。這樣的例子比比皆是惫谤,所以支持數(shù)據(jù)傳遞是又一個必不可少的功能壁顶。
4、動態(tài)函數(shù)
實際用例場景中我們可能會有隨機生成一個手機號溜歪、字符串加密等需求若专,在數(shù)據(jù)與代碼隔離之后,此時我們就需要代碼可以支持做到識別對應(yīng)關(guān)鍵字時可以執(zhí)行對應(yīng)的函數(shù)進行填充蝴猪。例如在數(shù)據(jù)中填寫phone()時调衰,具體執(zhí)行時會被替換成137XXXXXXXX,填寫random(5)時自阱,會被替換成一個五位的隨機數(shù)嚎莉。等等。
5沛豌、可配置
有時趋箩,我們的需求是用例不單單只能在一個環(huán)境上執(zhí)行,可能需要同一份接口用例可以在QA加派、預(yù)發(fā)叫确、線上等多個環(huán)境都可以執(zhí)行。所以框架需要做到可配置芍锦,便于切換竹勉,調(diào)用不同的配置文件可以在不同的環(huán)境執(zhí)行。
6娄琉、日志
日志包含執(zhí)行的具體執(zhí)行接口次乓、請求方式、請求參數(shù)孽水、返回值票腰、校驗接口、請求時間女气、耗時等關(guān)鍵信息杏慰,日志的好處一來是可以便于在新增用例有問題時快速定位出哪里填寫有問題,二來是發(fā)現(xiàn)bug時方便向開發(fā)反饋提供數(shù)據(jù)主卫,開發(fā)可以從觸發(fā)時間以及參數(shù)等信息快速定位到問題所在胰耗。
7旨剥、可視化報告
用例執(zhí)行后凛篙,就是到了向團隊展示結(jié)果的時候了嘱朽,一個可視化的報告可以便于團隊成員了解到每次自動化接口用例執(zhí)行的成功數(shù)、失敗數(shù)等數(shù)據(jù)瘩将。
8用例驅(qū)動
1.用例的驅(qū)動模式吟税,涉及到怎么存放測試數(shù)據(jù)凹耙,怎么描述用例,又如何復(fù)用肠仪;
2.考慮到效率的話還要支持并發(fā)肖抱;
3.當然測試報告不能光記錄成功和失敗,還有用例執(zhí)行耗時异旧,接口調(diào)用耗時意述,、場景的通過率等各項數(shù)值的統(tǒng)計吮蛹。
9數(shù)據(jù)隔離
1荤崇,用例是否能復(fù)用應(yīng)該跟用例的設(shè)計有關(guān)系,跟框架關(guān)系不是很大潮针。
2术荤,并發(fā)的話在接口自動化方面倒不是必須的,當然有是更完美的每篷。
3瓣戚,報告確實是越強大越好,有老板關(guān)心的數(shù)據(jù)焦读,有開發(fā)關(guān)心的數(shù)據(jù)是最好不過了子库。
作者:西邊人,西說測試
程序爬蟲抓取有用資源共享給大家
頭條號吨灭、請搜索(軟件測試資源站)刚照。
關(guān)注后刑巧,私信回復(fù)【資源包】獲取如下內(nèi)容喧兄,
測試資料、測試工具啊楚、Python吠冤、效率軟件、自動化測試報告恭理、梯子 等
QQ群:330374464