由於近期公司需要,需要一個測試框架對於公司的服務做自動化測試。
由於服務的復雜性,人工測試的方式越來越復雜,體現在以下方面:
1.人工測試步驟復雜,容易出錯。服務的復雜性會使人工測試的准備工作,測試條件以及測試反饋都越來越復雜。
2.人工測試難以重復。隨着產品的迭代越來越快,人工測試需要不斷重復測試,此時人力投入成本很高。
自動化測試框架
優點
1.測試步驟自動化,不像人工測試那樣容易出錯。
2.測試步驟可以反復進行,不需要或者很少需要人工介入。
3.測試步驟在接口等改變后,容易替換,因為其測試數據和測試步驟是分離。
缺點
1.測試自動化需要人編寫代碼,初期投入較大。
2.測試自動化需要人維護以及測試其正確性,維護也需要成本。
在這個階段不得不新增自動化測試框架對於服務進行操作。我一個軟件研發工程師現在需要做測試開發工程的工作還是有點變扭。
robot framework簡介
robot framework是使用python語言寫的一種驗收測試和驗收測試驅動開發(ATDD)的自動化測試框架,這是一個跨平台的自動化測試框架。由於robot framework的關鍵字以及測試套件特性。通過類似於函數一樣的關鍵字不僅可以實現復用和組合編程,而且還可以通過python語言實現的函數來靈活地實現自動化測試。
robot framework適用場景
1.用於單元測試,這是沒有問題的,一般單元測試中一般都是一步一步完成的
2.用於功能測試,這是沒有問題的,一般功能測試中一般都是一步一步完成的
3.用於集成測試,這時有不合適的地方,rf一般是順序執行的,但在集成測試中需要並發測試,這種測試需要加入寫入的並發關鍵字
robot framework使用心得
1.自定義庫
go test的函數調用gotest.py
1 class GOTest(object): 2 def __init__(self): 3 pass 4 def run(self,goPath,binPath): 5 cmd = 'set GOPATH=' + goPath + ' && cd ' + binPath \ 6 + ' && go test -v' 7 res = os.popen(cmd) 8 if 'FAIL' in res: 9 return False 10 return True
robot framework的python庫__init__.py
1 from gotest import GOTest 2 3 class GOTEST(GOTest): 4 ROBOT_LIBRARY_SCOPE = 'GLOBAL'
將其放入python的第三方庫中就是Lib\site-packages。
通過robot framework創建資源的方式加載GOTEST庫,然后通過robot framework的關鍵字對函數run加載。
2.測試用例
測試用例中setup可以初始化,teardown哪怕在失敗時也會執行,編輯時可以使用關鍵字,如gotest | d:\\gotest | d:\\project。
3.測試套件
a.測試套件中setup可以初始化,teardown哪怕在失敗時也會執行,編輯時可以使用關鍵字,如gotest | d:\\gotest | d:\\project。
b.測試套件的setting中可以加載資源以及自定義庫。
4.使用命令行跑測試用例
pybot -T -o D:\\output D:\\testcase,這個命令schtasks /creat /tn 設定定時運行的名字 /tr “運行程序” /sc daily可以用於每日自動化用力運行
安裝robot framework步驟
1.安裝python
2.安裝robot framework
3.安裝wxPython
4.安裝ride,這是robot framework的圖形編輯界面
