RobotFrameWork接口項目分層及通用控制方式

1. 前言

    上一篇文章介紹了在設計接口用例以前應遵照的設計規範,詳見《RobotFramework接口設計規範》,固然讀者公司的內部規範也不必定非得徹底遵循筆者所提到的,適合本身公司內部的一套就能夠了。編程

因爲如今公司新項目的啓動和自身負責的開發工做量的增劇,基本上更新文章都只能利用週末零碎時間來寫,一個字一個字的碼出來的,另外透露一下,下面分享的內容有部分核心思想筆者是將以前發表過的技術專利中的內容開放了一小部分哦,仍是有些乾貨內容值得借鑑的,也但願各位讀者多多支持一下。框架

 

接下來,咱們來聊聊,RobotFramework接口設計的分層玩法和經常使用的控制方式。編程語言

 

2. RF分層推薦玩法

    說到分層,你們最容易想到的就是著名的測試金字塔的分層結構,如:函數

 

 

 

那麼RobotFramework設計的接口框架分層該怎麼來分呢,固然分層的好處和做用筆者就不在這裏過多的說了,也不是本文的重點,相信你們也都能體會到。測試

 

分層原則:  分層目標:接口數據和接口業務分離】ui

 

  可再細分爲:加密

  • 項目目錄結構分層spa

  • 接口數據、接口用例、接口業務分離設計

  • 公共方法、數據分離視頻

 

 

3. 分層實施

3.一、項目結構分離

       具體要實施接口自動化的產品項目,通常可做爲一個自動化工程的主目錄。

其中,項目主目錄中,按分層思想,又可根據接口功能分紅不一樣模塊,不一樣模塊可做爲二級目錄。在這裏模塊可劃分紅兩類,一類爲按功能模塊,在命名時,以具體功能做爲命名,如評論模塊,可命名爲Comment,且功能模塊主要用來驗證某個單一模塊下各接口功能上是否符合預期,另外一類爲模塊業務,在命名時,以Business命名,全部業務功能驗證均存放在此目錄下,主要用來驗證明現具體業務功能時,各接口的關聯組合調用驗證,如驗證某個視頻播放功能時,其中,對於視頻播放這一具體的業務來講可能會涉及到不少接口之間的調用,包括接口前置條件,接口之間傳遞數據,接口數據清理等。

 

*項目的功能模塊劃分以具體的項目而定,在實際的接口自動化項目開展中,須要求開發人員,提供項目接口對接文檔。接口測試人員,依據接口對接文檔描述,劃分具體的功能模塊及某個功能模塊下包含了哪些具體接口。

 

3.二、接口業務分離

不一樣接口模塊下,又可根據子功能的不一樣,劃分紅不一樣接口。主要又包含兩部分,一部分爲接口業務關鍵字(對應在其它編程語言中,這裏所說的關鍵字,其實就是封裝的函數、方法),一般一個接口下,能夠根據測試的業務不一樣,定義多個不一樣的關鍵字。另外一部分就是接口功能用例,接口用例下僅需填測試數據便可。一般不一樣的用例存放不一樣的測試數據,即業務關鍵字的入參,業務關鍵字根據接收到不一樣測試數據而去自動執行對應的業務流程。

 

*一般將具體的一組動做序列封裝一個業務關鍵字,測試用例中之因此只存放測試數據的設計核心就是在於將測試業務與測試數據分離。由於一般測試過程當中,一個業務關鍵字的動做序列不會常常變動,須要變動的是測試數據,一般不一樣的測試數據,會致使業務關鍵字的產生的結果不一樣。

 

 

3.三、公共方法數據分離

包括三部分,公共方法(Public)、項目配置文件(Config)、數據構造文件(xx_var.py)。其中:

 

公共方法主要提供各個不一樣項目接口之間都會調用到的一些公共方法,如數據加密、解密,接口數據校驗、接口統計等。

 

主配置文件,主要存儲接口在各個不一樣環境下(一般一個產品,開發完成後,都須要在測試環境驗證經過後,纔可發佈到線上環境,這裏所說的不一樣環境指的就是測試環境、線上環境)的訪問地址,一般作法可在業務關鍵字編寫腳本時,將接口訪問地址經過變量來控制,而後此變量訪問主配置文件對應的接口地址便可,一般接口環境分定義爲測試環境下的接口訪問地址、預發佈環境接口地址、線上接口環境地址等(可參照下述截圖部分)。

 

數據構造文件因爲在不一樣環境下,須要用到的測試數據可能會有所不一樣,因此可經過構建對應環境下的變量文件來爲接口在不一樣環境下執行時提供測試數據,變量控制文件中主要存儲一些可變的變量文件,或經過函數來構造測試數據而後再將構建數據方法返回到具體變量中提供給測試用例或業務關鍵字使用。

 

數據控制文件的設計核心在於,在變量文件中定義構造數據的函數方法,而後將方法的返回值賦給一個變量,在具體的接口引用該變量。

 

 

4. 實例化圖解框架分層

 

4.1  功能模塊分層實例圖解


 

4.2 業務模塊分層實例圖解


 

4.3 公共庫實例圖解

一、在關鍵字頭部,引入Library後面填入公共方法存放文件的路徑

 

二、或經過RIDE導入的方式引入,RIDE導入的方式,只需選擇右側按鈕,如導入關鍵字,只需點擊右側Library按鈕,選擇關鍵字路徑便可。

 

 

5. 通用控制方式

這裏主要介紹一下接口數據、接口用例、接口業務分離的通用控制方式:

 

  • 接口數據與接口用例分離

     

 

提倡你們在測試用例中僅包括數據,也就是入參!!!(重要的事情,只說一遍!!!)

 

你們能夠看到在測試用例中的入參數據有兩處的數據是經過變量自動構造生成的,(一個是評論信息,另外一個是登陸用戶名),這也是上面提到數據構造文件的做用。將數據構造的方法傳入到變量,在用例層引入該變量便可,如:

 

  • 接口用例與接口業務分離

 

 

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

RobotFrameWork系列免費課程大綱介紹

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

RobotFrameWork接口設計規範

 

本文原文可詳見:閱讀原文

 

 

相關文章
相關標籤/搜索