轉載:https://baijiahao.baidu.com/s?id=1605140185266766604&wfr=spider&for=pc
當你准備使用一個接口自動化測試框架或者自造輪子的時候,或許你需要先了解下一個接口自動化測試框架必須具備什么功能。

1、校驗
這個很好了解,如果沒有校驗,單純的執行接口的話,那就談不上測試了。所以支持對返回值校驗是一個必須的功能。
2、數據隔離
數據隔離就是指具體的請求接口、參數、校驗等數據做到與代碼相隔離,便於維護,一旦需要調整接口用例、新增接口用例時可很快速的找到位置,隔離的另一個好處就是可復用,框架可以推廣給其他團隊,使用者可以使用相同的代碼,只需要根據要求填寫各自用例即可測試起來。
3、數據傳遞
做到數據隔離可維護后,數據傳遞是另外一個更重要的需求。
數據傳遞是指接口用例之間可以做到向下傳參,例如我們通過創建訂單接口創建一個訂單,該接口會返回一個訂單號,接下來我們要進行調用查詢訂單的接口,從返回的數據中與創建訂單用例中的數據進行校驗,此時第二個接口的請求數據是需要從第一個接口用例中的返回中提取的。這樣的例子比比皆是,所以支持數據傳遞是又一個必不可少的功能。
4、動態函數
實際用例場景中我們可能會有隨機生成一個手機號、字符串加密等需求,在數據與代碼隔離之后,此時我們就需要代碼可以支持做到識別對應關鍵字時可以執行對應的函數進行填充。例如在數據中填寫phone()時,具體執行時會被替換成137XXXXXXXX,填寫random(5)時,會被替換成一個五位的隨機數。等等。
5、可配置
有時,我們的需求是用例不單單只能在一個環境上執行,可能需要同一份接口用例可以在QA、預發、線上等多個環境都可以執行。所以框架需要做到可配置,便於切換,調用不同的配置文件可以在不同的環境執行。
6、日志
日志包含執行的具體執行接口、請求方式、請求參數、返回值、校驗接口、請求時間、耗時等關鍵信息,日志的好處一來是可以便於在新增用例有問題時快速定位出哪里填寫有問題,二來是發現bug時方便向開發反饋提供數據,開發可以從觸發時間以及參數等信息快速定位到問題所在。
7、可視化報告
用例執行后,就是到了向團隊展示結果的時候了,一個可視化的報告可以便於團隊成員了解到每次自動化接口用例執行的成功數、失敗數等數據。
8、用例驅動
1.用例的驅動模式,涉及到怎么存放測試數據,怎么描述用例,又如何復用;
2.考慮到效率的話還要支持並發;
3.當然測試報告不能光記錄成功和失敗,還有用例執行耗時,接口調用耗時,、場景的通過率等各項數值的統計。
9、數據隔離
1.用例是否能復用應該跟用例的設計有關系,跟框架關系不是很大。
2.並發的話在接口自動化方面倒不是必須的,當然有是更完美的。
3.報告確實是越強大越好,有老板關心的數據,有開發關心的數據是最好不過了。