
上一篇文章介紹了在設計接口用例之前應遵守的設計規(guī)范,詳見《RobotFramework接口設計規(guī)范》,當然讀者公司的內(nèi)部規(guī)范也不一定非得完全遵循筆者所提到的,適合自己公司內(nèi)部的一套就可以了。 由于現(xiàn)在公司新項目的啟動和自身負責的開發(fā)工作量的增劇,基本上更新文章都只能利用周末零碎時間來寫,一個字一個字的碼出來的,另外透露一下,下面分享的內(nèi)容有部分核心思想筆者是將之前發(fā)表過的技術專利中的內(nèi)容開放了一小部分哦,還是有些干貨內(nèi)容值得借鑒的,也希望各位讀者多多支持一下。 接下來,我們來聊聊,RobotFramework接口設計的分層玩法和常用的控制方式。 說到分層,大家最容易想到的就是著名的測試金字塔的分層結(jié)構(gòu),如: 
那么RobotFramework設計的接口框架分層該怎么來分呢,當然分層的好處和作用筆者就不在這里過多的說了,也不是本文的重點,相信大家也都能體會到。 分層目標:接口數(shù)據(jù)和接口業(yè)務分離
可再細分為:
具體要實施接口自動化的產(chǎn)品項目,一般可作為一個自動化工程的主目錄。 其中,項目主目錄中,按分層思想,又可根據(jù)接口功能分成不同模塊,不同模塊可作為二級目錄。在這里模塊可劃分成兩類,一類為按功能模塊,在命名時,以具體功能作為命名,如評論模塊,可命名為Comment,且功能模塊主要用來驗證某個單一模塊下各接口功能上是否符合預期,另一類為模塊業(yè)務,在命名時,以Business命名,所有業(yè)務功能驗證均存放在此目錄下,主要用來驗證實現(xiàn)具體業(yè)務功能時,各接口的關聯(lián)組合調(diào)用驗證,如驗證某個視頻播放功能時,其中,對于視頻播放這一具體的業(yè)務來說可能會涉及到很多接口之間的調(diào)用,包括接口前置條件,接口之間傳遞數(shù)據(jù),接口數(shù)據(jù)清理等。 *項目的功能模塊劃分以具體的項目而定,在實際的接口自動化項目開展中,需要求開發(fā)人員,提供項目接口對接文檔。接口測試人員,依據(jù)接口對接文檔描述,劃分具體的功能模塊及某個功能模塊下包含了哪些具體接口。 不同接口模塊下,又可根據(jù)子功能的不同,劃分成不同接口。主要又包含兩部分,一部分為接口業(yè)務關鍵字(對應在其它編程語言中,這里所說的關鍵字,其實就是封裝的函數(shù)、方法),通常一個接口下,可以根據(jù)測試的業(yè)務不同,定義多個不同的關鍵字。另一部分就是接口功能用例,接口用例下僅需填測試數(shù)據(jù)即可。通常不同的用例存放不同的測試數(shù)據(jù),即業(yè)務關鍵字的入?yún)?,業(yè)務關鍵字根據(jù)接收到不同測試數(shù)據(jù)而去自動執(zhí)行對應的業(yè)務流程。 *通常將具體的一組動作序列封裝一個業(yè)務關鍵字,測試用例中之所以只存放測試數(shù)據(jù)的設計核心就是在于將測試業(yè)務與測試數(shù)據(jù)分離。因為通常測試過程中,一個業(yè)務關鍵字的動作序列不會經(jīng)常變更,需要變更的是測試數(shù)據(jù),通常不同的測試數(shù)據(jù),會導致業(yè)務關鍵字的產(chǎn)生的結(jié)果不同。 包括三部分,公共方法(Public)、項目配置文件(Config)、數(shù)據(jù)構(gòu)造文件(xx_var.py)。其中: 公共方法,主要提供各個不同項目接口之間都會調(diào)用到的一些公共方法,如數(shù)據(jù)加密、解密,接口數(shù)據(jù)校驗、接口統(tǒng)計等。 主配置文件,主要存儲接口在各個不同環(huán)境下(通常一個產(chǎn)品,開發(fā)完成后,都需要在測試環(huán)境驗證通過后,才可發(fā)布到線上環(huán)境,這里所說的不同環(huán)境指的就是測試環(huán)境、線上環(huán)境)的訪問地址,通常做法可在業(yè)務關鍵字編寫腳本時,將接口訪問地址通過變量來控制,然后此變量訪問主配置文件對應的接口地址即可,通常接口環(huán)境分定義為測試環(huán)境下的接口訪問地址、預發(fā)布環(huán)境接口地址、線上接口環(huán)境地址等(可參照下述截圖部分)。 數(shù)據(jù)構(gòu)造文件,由于在不同環(huán)境下,需要用到的測試數(shù)據(jù)可能會有所不同,所以可通過構(gòu)建對應環(huán)境下的變量文件來為接口在不同環(huán)境下執(zhí)行時提供測試數(shù)據(jù),變量控制文件中主要存儲一些可變的變量文件,或通過函數(shù)來構(gòu)造測試數(shù)據(jù)然后再將構(gòu)建數(shù)據(jù)方法返回到具體變量中提供給測試用例或業(yè)務關鍵字使用。 數(shù)據(jù)控制文件的設計核心在于,在變量文件中定義構(gòu)造數(shù)據(jù)的函數(shù)方法,然后將方法的返回值賦給一個變量,在具體的接口引用該變量。 1、在關鍵字頭部,引入Library后面填入公共方法存放文件的路徑 
2、或通過RIDE導入的方式引入,RIDE導入的方式,只需選擇右側(cè)按鈕,如導入關鍵字,只需點擊右側(cè)Library按鈕,選擇關鍵字路徑即可。 
這里主要介紹一下接口數(shù)據(jù)、接口用例、接口業(yè)務分離的通用控制方式: 
提倡大家在測試用例中僅包括數(shù)據(jù),也就是入?yún)ⅲ。。。ㄖ匾氖虑?,只說一遍?。。。?/span> 大家可以看到在測試用例中的入?yún)?shù)據(jù)有兩處的數(shù)據(jù)是通過變量自動構(gòu)造生成的,(一個是評論信息,另一個是登錄用戶名),這也是上面提到數(shù)據(jù)構(gòu)造文件的作用。將數(shù)據(jù)構(gòu)造的方法傳入到變量,在用例層引入該變量即可,如: 



寫完之篇后,發(fā)現(xiàn)清早已花了一個多小時來碼這篇文章了,如果大家覺得本文還是有些地方對大家有用,在下面打賞鼓勵一下哦~ RobotFrameWork系列免費課程大綱介紹
RobotFrameWork環(huán)境搭建(基于HTTP協(xié)議的接口自動化)
RobotFrameWork接口設計規(guī)范 《RobotFrameWork編寫接口測試及如何斷言》
|