從零開始安裝Robot Framework(基于Python2.7版本)

----公告:本章內(nèi)容僅適用于Python2.7 + RobotFramework3.0.2 + Ride1.5.2.1 +?wxPython2.8.12.1版本织狐。適用于Python3的RF環(huán)境搭建請移步查看作者的另一篇文章香浩。

當(dāng)初開簡書的目的是總結(jié)RF自動(dòng)化測試的學(xué)習(xí)和分享,網(wǎng)上有很多教程倒槐,雖然有好幾個(gè)程序要安裝,其實(shí)還是很簡單的余素,所以沒分享過程蒙兰,為了學(xué)習(xí)順序現(xiàn)在還是補(bǔ)上吧。

本文講Windwos系統(tǒng)安裝RF方法茵乱,初學(xué)者按照步驟正常安裝茂洒,基本不會有多大問題。如果不是新手瓶竭,只是需要安裝包督勺,文末單獨(dú)提供下載鏈接,請直接跳到底部斤贰,請自行按需選擇64位或32位程序智哀,否則會出現(xiàn)環(huán)境無法正常啟動(dòng)的問題。

第一部分荧恍、在Windows下安裝Robot Framework

1.1RF框架介紹

Robot Framework框架是一個(gè)通用的測試框架瓷叫,一直是由諾西網(wǎng)絡(luò)(Nokia Siemens Networks Oyj)的人員維護(hù)。在諾基亞賣掉手機(jī)業(yè)務(wù)后送巡,更名為諾基亞解決方案網(wǎng)絡(luò)(Nokia Solutions and Networks)摹菠。

官方地址:RF官網(wǎng)

官方介紹:The framework was initially developed at?Nokia Networks?and itis nowadays sponsored by?Robot Framework Foundation

官方指南:RF官方指南

API documentation:官方API文檔

RF的特性:

易于使用,采用表格式語法骗爆,統(tǒng)一測試用例格式次氨;

可以使用關(guān)鍵字驅(qū)動(dòng)(keyword-driven)、數(shù)據(jù)驅(qū)動(dòng)(data-driven)和行為驅(qū)動(dòng)開發(fā)(BDD)完成摘投;

重用性好煮寡,可以利用現(xiàn)有關(guān)鍵字來組合新關(guān)鍵字虹蓄;

結(jié)果報(bào)告和日志采用HTML格式,易于閱讀幸撕;

平臺和應(yīng)用無關(guān)聯(lián)性薇组;

模塊結(jié)構(gòu)支持使用不同的接口來測試你的應(yīng)用;

易于擴(kuò)展杈帐,提供了簡單API体箕,用戶可以自定義的基于Python或者Java的測試庫;

易于集成挑童,提供了命令行接口和基于XML的輸出文件累铅;

功能全面,支持WEB測試(Selenium)站叼、Java GUI測試娃兽,啟動(dòng)線程、Telnet尽楔、SSH等投储;

RemoteLibrary接口可以支持分布測試和使用其他編程語言實(shí)現(xiàn)測試庫;

提供tag標(biāo)簽來分類和選擇你的案例執(zhí)行;

內(nèi)置支持變量variables阔馋,支持不同的環(huán)境進(jìn)行測試玛荞;



Robot Framework作為框架平臺,上面可以加載各種Library呕寝,通過測試套件勋眯、資源文件集成起來,然后可以針對被測系統(tǒng)進(jìn)行不同角度的測試下梢,圖中只列了三種Library客蹋,實(shí)際上還有很多種不同方向的Library。

1.2安裝篇

Python:robot?framework是基于python開發(fā)的孽江。(必裝)

SetuptoolsPip:使用pip命令在線自動(dòng)安裝庫讶坯,非常方便(推薦)。

Robot?framework:要想使用該框架(必裝)岗屏。

wxPython:提供圖形圖形界面支持辆琅,使用ride則必裝。

Robot?framework-ride:可以看作Robot?Framework框架的標(biāo)準(zhǔn)編輯器这刷。各人的習(xí)慣不同婉烟,也可用PyCharm、Red或者Sublime等編輯器寫RF腳本崭歧。

注意:按照操作系統(tǒng)是64位或32位選擇軟件,本文默認(rèn)64位撞牢。

1.2.1率碾、首先安裝Python

下載地址:Python2.7.14

注意事項(xiàng):

1叔营、雖然RF3.0.2版本已經(jīng)支持python3,由于編輯器Ride只支持python2所宰,選擇安裝Python2.7.14绒尊;

2、在path環(huán)境變量中添加“D:\Python27;D:\Python27\Scripts;”

3仔粥、建議不要安裝在C盤婴谱,可能日志越來越多,占用C盤空間會越來越大

4躯泰、安裝路徑不能有空格或中文字符谭羔。

1.2.2、安裝setuptools和pip

首先簡單說下這兩個(gè)包的作用麦向。

Setuptools能使程序員更方便的創(chuàng)建和發(fā)布Python包瘟裸,特別是那些對其他包具有依賴性的狀況。使用setuptools里的easy_install命令安裝第三方Python包诵竭。

Pip是一個(gè)安裝和管理Python包的工具话告,通過pip去安裝Python包變得十分簡單,pip依賴于setuptools卵慰,因此有安裝順序沙郭,先安裝Setuptools,再安裝Pip裳朋。

Setuptools下載地址:Setuptools

Pip下載地址:Pip

(Python2.7.14自帶pip病线,安裝python就能使用pip)

在E:\package\setuptools或pip的目錄下執(zhí)行命令:python setup.py install





注意事項(xiàng):

1、如果在安裝setuptools遇到xx包導(dǎo)入錯(cuò)誤再扭,沒有發(fā)現(xiàn)xx包氧苍,可以自行去下載安裝。下載地址:https://pypi.python.org/pypi泛范,然后搜索自己缺少的包让虐,例如six/packaging/appdirs,可以通過pip安裝(命令pip install?package)罢荡,也可以通過下載源碼赡突,用命令安裝python setup.py install。

2区赵、如果提示pip不是內(nèi)部命令惭缰,檢查環(huán)境變量是否配置正確。

1.2.2笼才、安裝Robot Framework

下載地址:RF 3.0.2

提供了exe的文件和tar.gz文件漱受,前者可以直接雙擊安裝,后者則需像安裝Python包一樣用Python setup.py install骡送,或者通過pip命令:pip install robotframwork

寫這個(gè)文章時(shí)RF最新版本是3.0.2昂羡,請注意最近更新情況絮记。

1.2.4、安裝wxPython

下載地址:wxPython2.8.12.1

wxPython是Python非常有名的GUI庫虐先,RIDE基于這個(gè)庫開發(fā)怨愤,所以必須安裝。

1.2.5蛹批、安裝RIDE

下載地址:Ride

寫本文時(shí)版本是:robotframework-ride 1.5.2.1

RIDE是Robot Framework的圖形編輯器撰洗,使用它寫腳本方便快捷。

安裝完成后你可能發(fā)現(xiàn)電腦桌面沒有RIDE機(jī)器人圖標(biāo)腐芍,可以手動(dòng)創(chuàng)建:

1差导、在桌面上右鍵新建快捷方式

2、在“請鍵入對象”的位置上輸入命令:

D:\Python27\pythonw.exe -c “from robotide import main;main()”

(D:\為Python的安裝路徑)

3甸赃、機(jī)器人圖標(biāo)柿汛,快捷方式上右鍵→屬性→更改圖標(biāo),在“瀏覽”中輸入路徑“D:\Python27\Lib\site-packages\robotide\widgets”埠对,找到機(jī)器人的圖標(biāo)點(diǎn)擊確定络断。

到此Robot Framework安裝完畢,你可以開始機(jī)器人的夢幻之旅了项玛!

1.3下面再介紹一下標(biāo)準(zhǔn)庫和接口測試庫

標(biāo)準(zhǔn)庫是Robot Framework可以直接導(dǎo)入使用的庫貌笨,包含以下幾類:

Builtin:包含經(jīng)常需要的關(guān)鍵字。自動(dòng)導(dǎo)入無需import襟沮,因此總是可用的

Dialogs:提供了暫停測試執(zhí)行和從用戶的輸入方式锥惋。

Collections:提供一組關(guān)鍵詞處理Python列表和字典。

OperatingSystem:允許執(zhí)行各種操作系統(tǒng)相關(guān)的任務(wù)开伏。允許執(zhí)行各種操作系統(tǒng)相關(guān)的任務(wù)膀跌,使各種操作系統(tǒng)相關(guān)的任務(wù)在robot framework正在運(yùn)行的系統(tǒng)中執(zhí)行。

Remote:遠(yuǎn)程庫接口的一部分固灵。沒有自己的任何關(guān)鍵字捅伤,作為robot framework和測試庫之間的代理的特殊庫。實(shí)際測試庫可以在不同的機(jī)器上運(yùn)行巫玻,可以使用任何編程語言支持XML-RPC協(xié)議的實(shí)現(xiàn)丛忆。

Screenshot:提供關(guān)鍵字來捕獲和存儲桌面的截圖。

String:用于處理字符串并驗(yàn)證它們內(nèi)容的庫仍秤,用于生成熄诡、修改和驗(yàn)證字符串。

Telnet:支持連接到Telnet服務(wù)器诗力,執(zhí)行命令鸦做。

XML:用于生成胜宇、修改和驗(yàn)證XML文件的庫冲粤。

Process:系統(tǒng)中運(yùn)行過程的庫。

DateTime:日期和時(shí)間轉(zhuǎn)換的庫屿良,支持創(chuàng)建和驗(yàn)證日期和時(shí)間值以及它們之間的計(jì)算。

SudsLibrary:用于Web Service服務(wù)端接口測試的庫惫周,可處理Soap請求

Requests,RequestsLibrary:基于Restful http接口測試庫康栈,大名鼎鼎常用的get post等

第二部分递递、Requests接口自動(dòng)化測試介紹

主要介紹幾種常見的接口如何進(jìn)行自動(dòng)化測試,重點(diǎn)是get request和post request啥么。這部分測試案例可以在這里找到:https://github.com/qitaos/rf-demos/tree/master/RequestsDemo登舞。不過,強(qiáng)烈建議大家查看官方的驗(yàn)收測試用例悬荣!

1.接口測試接口測試通常是系統(tǒng)之間交互的接口菠秒,或者某個(gè)系統(tǒng)對外提供的一些接口服務(wù)。現(xiàn)在大家也越來越多的關(guān)注接口測試了氯迂,因?yàn)橛袝r(shí)候可能界面上的功能還沒有實(shí)現(xiàn)践叠,我們可以先一步對接口進(jìn)行驗(yàn)證,提早發(fā)現(xiàn)一些和預(yù)期不一致的錯(cuò)誤嚼蚀。這方面的工具還有Postman禁灼、SoapUI、Jmeter等等轿曙,基于RF的接口測試庫我們首推requests和requestsLibrary弄捕。

2.requestsLibrary、requests安裝可以通過pip安裝导帝,或者手動(dòng)安裝守谓,下載地址如下,如果是下載安裝您单,先要安裝requests斋荞,再安裝requestsLibrary。

requests的官方下載地址: https://pypi.python.org/pypi/requests

requestsLibrary

的官方下載地址:https://pypi.python.org/pypi/robotframework-requests/

3. requestsLibrary關(guān)鍵字

requestsLibrary的關(guān)鍵字不多睹限,我常用的就幾個(gè)譬猫。

Create Session:

創(chuàng)建一個(gè)session,連接某個(gè)服務(wù)器

Create Ntlm Session:

也是創(chuàng)建一個(gè)session羡疗,只不過加上了域染服、用戶名、密碼用于NTLM認(rèn)證叨恨。

Get Request:

通過GET方式發(fā)起請求柳刮。

Post Request:

通過POST方式發(fā)起請求。

Head Request:

發(fā)送一個(gè)HEAD請求。

TO Json:

將文本轉(zhuǎn)換成json對象秉颗。


以上


Python:www.python.org/downloads/release/python-2714/

Setuptools:https://pypi.python.org/pypi/setuptools

RobotFramework:https://pypi.python.org/pypi/robotframework/3.0.2

wxPython:sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1

Ride:https://pypi.python.org/pypi/robotframework-ride? ?(版本1.5.2.1)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痢毒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚕甥,更是在濱河造成了極大的恐慌哪替,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菇怀,死亡現(xiàn)場離奇詭異凭舶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)爱沟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門帅霜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呼伸,你說我怎么就攤上這事身冀。” “怎么了括享?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵搂根,是天一觀的道長。 經(jīng)常有香客問我铃辖,道長兄墅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任澳叉,我火速辦了婚禮隙咸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘成洗。我一直安慰自己五督,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布瓶殃。 她就那樣靜靜地躺著充包,像睡著了一般。 火紅的嫁衣襯著肌膚如雪遥椿。 梳的紋絲不亂的頭發(fā)上基矮,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音冠场,去河邊找鬼家浇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碴裙,可吹牛的內(nèi)容都是我干的钢悲。 我是一名探鬼主播点额,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莺琳!你這毒婦竟也來了还棱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惭等,失蹤者是張志新(化名)和其女友劉穎珍手,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辞做,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡珠十,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凭豪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晒杈,死狀恐怖嫂伞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拯钻,我是刑警寧澤帖努,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站粪般,受9級特大地震影響拼余,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亩歹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一匙监、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧小作,春花似錦亭姥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至静秆,卻和暖如春粮揉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抚笔。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工扶认, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人殊橙。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓蝠引,卻偏偏與公主長得像阳谍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子螃概,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容