Robot Framework原理精講
Robot Framework是一款python編寫的功能自動化測試框架。具備良好的可擴展性,支持關(guān)鍵字驅(qū)動,可以同時測試多種類型的客戶端或者接口,可以進行分布式測試執(zhí)行。
官網(wǎng):http://robotframework.org
RF框架是基于python 的,所以一定要有python環(huán)境。robotframework 本質(zhì)就是python的一個模塊,安裝它的命令是:
pip install robotframework
談到RF就要介紹一下Robot framework-ride, 它是一個圖形界面的用于創(chuàng)建、組織、運行測試的軟件。Ride也是一個Python的模塊,安裝它的命令是:
pip install robotframework-ride
從RIDEv1.7.3.1開始支持python3(兼容Python2.7 和>=3.6)。Ride并不是RF的核心模塊,但是使用Ride,因為它友好的UI設(shè)計,提高了用戶的體驗和用例的編寫效率。下圖1是RideUI頁面,而圖2是與圖1對應(yīng)的RF的腳本頁面。
????????????????????????????????????????????????????????????????????????????????????????????? 圖1.Ride UI頁面
?????????????????????????????????????????????????????????????????????????????????????????????? 圖2.RF的腳本頁面
用過RF的同學(xué)都深有體會,RF真是無所不能,可以做web自動化測試、移動端自動化測試、windows自動化測試,接口自動化測試,全面覆蓋測試領(lǐng)域。在這里我就重點解析一下RF的無所不能。它之所以讓大家感覺到無所不能,是因為在這個框架中我們可以方便的使用各種擴展類庫。想使用Robotframework實現(xiàn)不同的功能,那么就要先安裝與其功能對應(yīng)的類庫并導(dǎo)入使用類庫。擴展庫的安裝方法與安裝python模塊一樣,使用pip命令即可。例如安裝selenium擴展庫的命令如下:pip install robotframework-seleniumlibrary。
安裝成功后,在[PYTHON目錄]\Lib\site-packages\SeleniumLibrary目錄下可以找到擴展庫。然后我們就可以在RF中引入SeleniumLibrary進行web相關(guān)的自動化測試了,做web自動化測試并不是RF的api實現(xiàn)的,而是RF借用selenium的api實現(xiàn)的。同理,我們可以使用appiumlibrary做Android和iOS測試,其本質(zhì)使用的是appium;使用HTTP library做http請求發(fā)送和解析測試,其本質(zhì)使用requests模塊。使用autoitlibrary做Windows的GUI測試,其本質(zhì)使用AutoIt。總之RF就是一個基礎(chǔ)框架,提供用例管理,用例運行以及生成測試報告等測試的基礎(chǔ)功能,然后你想做哪方面的測試就需要安裝對應(yīng)的python模塊,而我們的RF本身并不提供例如web測試、移動測試和接口測試的功能。
使用RF確實可以大幅度地提升自動化測試效率,但是對于測試小白來講我真心不建議大家從RF開始上手自動化測試,因為這個框架的封裝,使得大家在完全不需要編碼的前提下,就能夠完成基礎(chǔ)的自動化測試工作,而目前編碼是測試人員的剛需,自動化測試又是測試人員提升編碼的最佳實踐,所以大家上手自動化測試還是先從Selenium或者appium入門,待編碼技能成熟后再使用RF也為時不晚。