RobotFrameWork接口設計規范


1. 前言

    繼前面一章《RobotFramework環境搭建》介紹了在本地如何將接口自動化實施過程所需要的基礎環境搭建好,在這里假設大家都已經知道環境如何搭建了,如果不清楚的可直接查看上一章節 RobotFrameWork環境搭建(基於HTTP協議的接口自動化),那么環境一切ready了,是不是代表就可以開干了呢?

    不急,對於一個team在開展這類大工程的時候,要考慮到團隊多人協作,如何讓自己的東西,別人能更快看懂上手,如何讓大家風格保持統一,這里就還需要在真正開始之前,制定一些針對團隊達到統一共識的約定或者規范。就好比我相信任何一個較成熟的研發團隊,都會有自己內部的一套編碼規范如:Java編碼規范、Python編碼規范、JavaScript編碼規范等。

    那么接口在開始之前,你覺得需要有哪些規范呢?下面我就介紹一下以前我在公司開展接口項目時,制定的一些針對接口項目的約定規范。(當然不同公司可以根據公司文化、項目差異自行制定,不一定我們的就是最好的,找到一套適合自己的才是關鍵)

  

2. 規則細分

 

    那對於開展接口自動化來講,有哪些地方規范需要注意呢,這里我分幾部分進行介紹:

    

目錄結構規則 -> 接口命名規則->用例命名規則->用例分類規則->用例編寫規則->公共方法命名規則

 

3. 規則說明

 

3.1、用例目錄結構規則

 

  好的目錄結構可以讓項目呈現一目了然,假如公司統一采取git倉庫來管理各項目的接口,這里假定git倉庫地為:git@xx.xx.xx.xx:xx/robotframework-interface-cn.git,那各個業務項目組可以通過不同分支的形式來管理各業務接口,如公司某產品通過業務線分為移動端業務線和web網站業務線,那么可為兩個業務線開各自獨立分支如develop-mobile、develop-web,至於詳細的代碼管理形式,后面再另開一章節來介紹,再此就不再過多的說明了。

 

   另一方面通過好的目錄結構可以很好的區分開各接口歸類,建議最多3層目錄層級,比如一個直播混合app,那么第1層目錄可以按模塊調用方划分,比如Mobile_Show(直播看模塊)、Mobile_Sing(直播聽模塊)、H5_Mobile(H5頁面調用的接口)、Mobile_Socket(前端調用socket協議的接口)。

第2,3層目錄主要按產品應用模塊來划分或者根據接口url的路徑來划分,比如: mobileshow/json/v2/cdn/mv/supportStatus接口可划分到Mobile_Show目錄的子目錄MV下。

 

3.2、接口命名規則

自動化腳本中接口命名通常可以按照接口部分url+接口方法類型組成,部分url是指非參數部分的最后兩級路徑。Http接口方法類型主要分為:get、post等,例如:

/json/v2/cdn/user/getUserInfo 接口命名為: user_getUserInfo_get

/json/v2/user/getUserInfo 接口命名為:user_getUserInfo_post

 

3.3、用例命名規則

用例命名主要為了區分用例驗證點和用例作用,這里建議可以按照以下4種:

Class_序號表示常規經典值用例,可以理解為最常用的數據,按照等價類的原則,此處每組用例所需要達到的作用應該是一致的,序號當存在多條用例的時候使用,用兩位數值,如:Class_01,Class_02;

 

Field_序號_結果表示字段校驗用例,序號由2位數字組成,2位數字表示字段驗證序號,結果通常可以分為三類,當有錯誤碼時為錯誤碼,當無錯誤碼返回為空時為Null,當有數據返回時為data,例如:

返回錯誤碼:Field_01_1100018;

返回空:Field_02_null;

返回數據:Field_05_data;

 

Business_序號表示業務用例,主要用例驗證業務邏輯,序號由2位數字組成,表示驗證序號,如:Business_01,Business_02,Business_03;

 

Safe_序號表示此用例驗證安全方面,序號由2位數字組成,表示字段驗證序號,如:Safe _01,Safe _02,Safe _03;

 

 

3.4、用例分類規則

用例會隨着不斷的接口迭代越來越多,而且有時在跑接口巡檢時,也會隨着測試范圍的不同,而希望選取不同的測試集下的用例來運行。

所以最好的方式是在在設計之初的階段就要考慮好用例的分類,而在RobotFramework中通過標簽Tag的形式,很方便就可以將用例划分成不同歸類。

那么最常用的用例分類原則,有3類:

第1類,按照環境划分:按筆者經驗,可以分成四類不同運行環境的用例,如:online-線上環境、test-測試環境、general-預發布環境、develop-開發環境;

第2類,按用例編寫者來划分:如這條用例是張三編寫的還是李四編寫的,所以需要增加用例所屬者的標簽,如zhangsan;

第3類,按照特性標簽來划分:特性標簽可由使用用途來自行定義,根據特殊場景來定義,比如每日巡檢如果跑主流程的核心接口,則可以增加main標簽代表此條用例是核心接口用例。

 

 

3.5、用例編寫規范

a. 公共方法類和公共用例的腳本,需要每句注解其作用;

b. 接口定義方面需要有屬於如個版本需求、用途。如用接口有修改需要增加修改原因和版本及其用途記錄;

c. 測試用例對業務用例需要注解其驗證點,其它類型可自行要求。

d. 接口請求公共字段放在公共方法中

 

3.6、公共方法

接口項目用到的公共方法需要單獨抽離到公共庫層,不能和用例層混在一起,可以根據應用產品及方法作用來命名,當各產品項目都適用可不帶產品名稱直接用方法來命名,如:

mobile_show_post: 表示直播看模塊的post請求公共方法

md5_encode: 表示md5加解密方法

 

4. 教程目錄大綱(已更新)

RobotFrameWork系列免費課程大綱介紹

RobotFrameWork環境搭建(基於HTTP協議的接口自動化)

 

5. 下節預告

《RobotFramework接口項目分層和通用控制方式》

 

 

更加詳細可見:  原文鏈接

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM