引言:什麼是RFS——RobotFramework+selenium2library,本系列主要介紹web自動化驗收測試方面。
( @齊濤-道長 新浪微博)
好久沒寫東西了,最近沒怎麼弄QTP了,之前一直想找一個能方便管理QTP對象的東東,FrameworkManage用excel管理雖然是方便了一些,但是還是感覺很麻煩。
最近剛剛接觸到RobotFramework,發現這個工具倒是可以滿足我的要求,而且可以結合seleniumLibrary,用來做web的自動化測試相當不錯。之前我也接觸過selenium,不過感覺那個工具更貼近開發人員使用,有了robotFramework之後,感覺這個工具相當強大,而且是貼近測試人員的。之所以說強大,主要是這些測試腳本都可以用文本格式保存(如txt/html等)
==安裝篇==
如果有想學的朋友可以自己下載以下文件安裝(Google-code裏可以找到大部分的安裝文件):
這篇文章的內容比較舊了,最新的安裝指南請查看 更新篇
python-2.7.1.msi(首先要有python,請選擇將Python加入Path)
wxPython2.8-win32-unicode-2.8.11.0-py27.exe(wxPython,必須要的)
robotframework-2.6.0.win32.exe(然後裝robot的Framework)
robotframework-ride-0.38.1.win32.exe(robotFramework的IDE,很不錯)
robotframework-seleniumlibrary-2.8.win32.exe(seleniumLibrary)
安裝成功後
看到界面就是安裝成功了。
如果需要AutoIt支持就下載下面2個東東。
AutoItLibrary-1.1
pywin32-216.win32-py2.7.exe
==入門篇==
安裝完成了,這個框架可以說是基於keyword的操作,按F5可以看到所有加載的keyword。
首先新增一個project
然後新增suite
然後新增test case,接着在suite層級add library,把selenium library加進來,添加後按F5檢驗是否添加成功,如圖
OK,繼續在suite的setting裏設置suite啓動和結束的keyword,即Start Selenium Server和Stop Selenium Server,他會在運行時幫助我們自動啓動seleniumserver。
接下來在test case裏添加一個步驟,open browser(一般用selenium做web測試都要用這個方法來打開瀏覽器),添加後關鍵字變成藍色表示找到關鍵字了,否則可能是拼寫錯誤或者沒有加載相應的library。紅色表示有一個必選參數要給定輸入值,具體參數可以看F5裏的keyword說明。
輸入參數,第二個參數默認是firefox,不過我沒裝,就用ie吧。
OK了,全部保存一下,然後按工具欄倒數第二個的機器人圖標運行test case
額,我的運行失敗了,
Timed out after 5000.0ms
原來網頁加載時間太長了,selenium會一直等頁面加載完成,可以修改一下默認等待時間,記得suite那裏添加library麼,當時添加的時候沒寫其他的就寫了名字,下一個參數就是默認超時的時間,改個長點的,保存後執行,運行成功。
以上只是一個簡單的例子,沒有詳細說明每個步驟的操作,只是初步介紹。後續再詳細介紹。
有了這個RIDE後你可以很方便的管理你的對象和腳本,進而可以自己對測試案例分層,數據和腳本分離、流程分離等等。如果有興趣可以自己寫library,本人正在研究中,可惜RIDE對中文註釋不支持,自己寫的library的中文註釋被轉換成了\xd5\xe2之類的了。
以後再爲大家介紹進階操作。