太全面了!RF介面自動化框架專案實戰
每天進步一點點,關注我們哦,每天分享測試技術文章
本文章出自【碼同學軟體測試】
碼同學公眾號:自動化軟體測試,領取資料可加:magetest
碼同學抖音號:小碼哥聊軟體測試
以碼同學VIP課程中的微服務專案進行介面自動化實戰
01搭建專案結構
建立一個專案,名字自己起,課上叫微服務專案介面測試框架,初始專案結構如下,不要著急對著圖去建立,看下方解釋再建立
配置:這是一個目錄,用來存放公共資訊的
-
公共配置:這是一個Resource,建立是右鍵配置New Resource
介面層:這是一個目錄,用來管理和定義介面基本資訊
按照專案業務進行分類管理
-
買家api:這是一個Resource,建立是右鍵介面層New Resource
-
賣家api:這是一個Resource,建立是右鍵介面層New Resource
-
管理員api:這是一個Resource,建立是右鍵介面層New Resource
-
基礎服務api:這是一個Resource,建立是右鍵介面層New Resource
-
介面預設引數:這是一個目錄,當介面引數比較多時,用來儲存預設引數的,存到檔案裡, 方便管理
-
業務關鍵字:這是一個Resource,用來封裝一些自定義的業務關鍵字,建立是右鍵介面層 New Resource
測試用例層:這是一個目錄,用來管理所有測試用例
測試資料層:這是一個目錄,管理測試資料的,測試資料存在檔案
02公共配置
根據專案情況,新增公共配置變數,各個服務的域名,資料庫資訊,redis資訊,買家/賣家/管理員賬號,並且匯入需要的第三方庫RequestsLibrary
03介面層各介面定義
首先在各個api分類中匯入,注意是每個哦
01買家api編寫每個介面定義都是一個使用者關鍵字,右鍵選擇New User Keyword
1、買家登入介面
2、新增購物車介面
3、清空購物車介面
4、立即購買介面
5、設定收貨地址介面
6、設定支付型別介面
7、建立交易介面
8、確認收貨介面
9、評論介面
評論介面的引數是json串,引數較多,不方便一個個傳遞,所以將其作為整體傳遞
設計思路:
-
在[介面預設引數]目錄中建立一個 評論.json檔案,內容寫所有引數的預設值,其中寫xxxx代表這個是動態資料,必須每次都由呼叫方傳遞
-
關鍵字入參的含義:
${order_sn}、${sku_id}都是必傳引數,${other}給了一個預設值,表示可以不傳,如果使用者需要針對json引數裡除了order_sn和sku_id的引數進行測試時就要以${other}代表,${other}的傳遞規則是字串形式的json格式字串,key必須是jsonpath表 達式,value是要替換的新值
例如:
-
針對替換json串中的特定欄位封裝一個自定義關鍵字,在業務關鍵字.robot下建立一個使用者自定義關鍵字如下,業務關鍵字需要匯入JSONLibrary
-
指令碼解釋:
第一行:讀取 [介面預設引數] 目錄下的評論.json檔案,得到預設json引數
第二/三行:把使用者傳入的order_sn和sku_id更新到${comment_info}中去
第四行:判斷${other}不等於default,說明使用者傳了其他資料,那麼${other}轉換成json
第五行:判斷${other不等於default},呼叫[替換json資料]關鍵字替換並且返回資料
每個介面定義都是一個使用者關鍵字,右鍵選擇New User Keyword
1、賣家登入介面
2、建立商品介面
建立商品的引數是json串,引數較多,不方便一個個傳遞,所以將其作為整體傳遞
免費領取碼同學軟體測試課程筆記+超多學習資料+完整視訊+面試題,可加微信:magetest
設計思路: 由於建立商品的介面引數裡從業務上來說,沒有不可重複的引數或者動態引數,所以我們將其整體作為引數傳遞
-
在[介面預設引數]目錄中建立一個 建立商品.json檔案,內容寫所有引數的預設值
-
關鍵字入參的含義:
${new_params}給了一個預設值,表示可以不傳,不傳時介面使用預設引數發起請求,如果使用者需要針對預設json引數裡的某些欄位進行修改,${new_params}的傳遞規則是字串形式的json格式字串,key必須是jsonpath表示式,value是要替換的新值
例如
-
指令碼解釋
第一行:讀取預設引數
第二行:判斷有${new_params}不等於default,說明使用者傳了其他資料
第三行:判斷有${new_params}不等於default,呼叫[替換json資料]關鍵字替換並返回
3、確認發貨介面
4、確認收款介面
5、獲取商品sku資訊介面
03管理員api編寫管理員登入介面
稽核商品介面
04各個登入關鍵字封裝由於各個服務在測試時都必須先完成登入獲取token,所以我們將各個服務的登入做成關鍵字 在業務關鍵字.robot下進行依次建立和封裝
匯入需要的
建立買家session和提取token 關鍵字
建立賣家session和提起token 關鍵字
建立管理員session和提取token 關鍵字
04測試用例指令碼設計和編寫
01新增購物車介面測試
1、資料設計
採用資料驅動的方式來做,首先設計新增購物車測試用例資料檔案,在測試資料層目錄下建立一個買家介面測試資料.xlsx檔案,sheet工作表名稱新增購物車
資料如下:
2、資料驅動用例編寫
-
建立買家介面目錄
在測試用例層,建立買家介面目錄
-
建立新增購物車測試集合
在買家介面目錄下建立新增購物車測試集合,按照下圖填寫以及匯入相關庫
-
建立新增購物車介面模板
在新增購物車測試集合下建立一個使用者關鍵字
-
建立測試用例
在新增購物車測試集合下建立一個測試用例
-
嘗試執行
1、資料設計
採用資料驅動的方式來做,首先設計立即購買測試用例資料檔案,在測試資料層目錄下的買家介面測試資料.xlsx檔案,sheet工作表名稱立即購買
資料如下:
2、資料驅動用例編寫
-
建立立即購買測試集合
在買家介面目錄下建立立即購買測試集合,按照下圖填寫以及匯入相關庫
-
建立立即購買介面模板
在立即購買測試集合下建立一個使用者關鍵字
-
建立測試用例
在立即購買測試集合下建立一個測試用例
-
嘗試執行
1、資料設計
採用資料驅動的方式來做,首先設計建立交易測試用例資料檔案,在測試資料層目錄下的買家介面測試資料.xlsx檔案,sheet工作表名稱建立交易
資料如下:
2、資料驅動用例編寫
-
建立測試集合
在買家介面目錄下建立建立交易測試集合,按照下圖填寫以及匯入相關庫
-
建立交易介面模板
在建立交易測試集合下建立一個使用者關鍵字
-
建立測試用例
在建立交易測試集合下建立一個測試用例
-
嘗試執行
免費領取碼同學軟體測試課程筆記+超多學習資料+學習完整視訊 ☞ 可加:magetest/關注碼同學公眾號:自動化軟體測試
本文著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。