前言
robotframework(簡稱robot)
robot是一款自動化測試的工具,能夠?qū)崿F(xiàn)接口自動化測試、UI自動化測試。
它的主要特色就是:
- 由 關(guān)鍵字 驅(qū)動來完成測試用例
- 測試用例格式可以為txt/html等,非代碼的形式,支持中文哦。
- 由python實現(xiàn),開源。
這里有2個重要的概念需要大家先掌握一下:
關(guān)鍵字、庫
簡單來說:
關(guān)鍵字是,已經(jīng)實現(xiàn)的功能,可以直接拿來使用。
庫是:按功能領(lǐng)域,將關(guān)鍵字分門別類存放。
我們以商場的例子來做說明。請看以下2個圖:
在圖中,商城提供了5大功能領(lǐng)域(robot中的庫)。在每個功能領(lǐng)域當(dāng)中,都有許多具體的功能(robot中的關(guān)鍵字)。
我們在逛商場(ps:帶著你的錢)時,是根據(jù)自己的需求去不同的功能庫當(dāng)中,使用不同的功能。
那么,圖中的每一個具體的功能(比如H&M),就是已經(jīng)實現(xiàn)好了的,直接可以使用的功能,即Robot中的關(guān)鍵字。
假設(shè)我現(xiàn)在進入此商城,我要做的事如下:
第一步:去護膚品區(qū)域(庫 ) 買 MAC口紅(使用某一功能)
第二步:去餐飲區(qū)域(庫) 吃 么子烤肉(使用某一功能)
第三步:去休閑區(qū)域(庫) 電影院 看哪吒之魔童降世(使用某一功能)
我要做的事,可以認(rèn)為是robot中一個測試用例,此用例分為三個步驟,每一個步驟都是使用某一現(xiàn)有的功能。
總結(jié)下來:
商場 == RobotFramework
餐飲/休閑/服務(wù)/護膚品/飾品 == 庫
費大廚/電影院/adidas/MAC == 關(guān)鍵字
所以,robotframework當(dāng)中,有非常豐富的庫,并且每一個庫當(dāng)中都有對應(yīng)的關(guān)鍵字集。
robot測試用例 = 按業(yè)務(wù)需求組合 關(guān)鍵字
Robot環(huán)境搭建
1、python環(huán)境+robotframework第三方庫:
由于robotframework是python實現(xiàn)的,是一個python第三方庫,所以需要安裝python版本。
robotframework完美支持python2和python3。建議安裝python3.7+,編碼處理非常友好。
2、安裝編寫用例的工具
編寫robot用例的工具比較多,有ride、notepad++、sublime、eclipse等。。
無論用哪種工具,對于robot腳本而言,語法都是一樣的,可以在任意其它工具中打開。
使用ride的朋友們請注意:ride工具現(xiàn)在也支持python2和python3,但兼容性有待考察。
個人更傾向于使用eclipse,關(guān)鍵字展示、高亮、自動提示等體驗非常友好。
?
Robot- 輕松實現(xiàn)自動化用例
以web自動化為示例,演示robotframework的用法。使用的用例編寫工具:eclipse+RED插件。
要實現(xiàn)的自動化web用例如下:
前置 |
打開google瀏覽器,訪問:http://www.lemfix.com/ |
|
步驟 |
1、點擊右上角的登陸鏈接 |
元素定位://a[text()="登錄"] |
2、輸入用戶名: XXXXX |
元素定位:id=user_login |
|
3、輸入密碼:123456789 |
元素定位:id=user_password |
|
4、點擊登陸按鈕 |
元素定位://input[@name="commit"] |
|
斷言 |
登陸失敗,提示帳號或密碼錯誤。 |
元素定位:id=navbar-user-menu |
問題:robotframework如何實現(xiàn)web自動化?
答案:關(guān)鍵字??!
在robotframework當(dāng)中,想做任何事情,首先想到的就是關(guān)鍵字。
找到web網(wǎng)頁操作的關(guān)鍵字,然后去使用它。
第一步:安裝SeleniumLibrary,具備web自動化操作的能力。
在robotframework當(dāng)中,由**SeleniumLibrary(非robot自帶,需要安裝)**庫提供對網(wǎng)頁的操作關(guān)鍵字(功能)。
- 安裝SeleniumLibrary:pip install --upgrade robotframework-seleniumlibrary
第二步:創(chuàng)建Robot工程,引入SeleniumLibrary庫。
1、創(chuàng)建robot工程:
在eclipse當(dāng)中,F(xiàn)ile -> New -> Robot Project(沒顯示則要去Other選項中找)
2)創(chuàng)建robot測試用例:
3) 在robot工程中中導(dǎo)入SeleniumLibrary(導(dǎo)入了才有可以使用關(guān)鍵字)。
注意:庫名不能錯,大小寫敏感。
- 引入方式:在robot腳本中,settings區(qū)域當(dāng)中,引入外部資源。腳本如下:
*** Settings ***
Library SeleniumLibrary
- 引入時,庫名下會有紅色波浪線,如下圖所示,選中它,按Ctrl+1
- 按Ctrl +1 后,會有如下圖所示的提示,雙擊:
- 以上操作后,會自動打開robot工程的red.xml文件 ,保存文件即可。
- 保存成功之后,可在robot工程當(dāng)中,看到第三方庫存在。具體效果如下圖所示:
第三步:利用SeleniumLibrary當(dāng)中的關(guān)鍵字,完成web用例
總結(jié)
從上面的簡單示例當(dāng)中,可以看到,使用現(xiàn)成的關(guān)鍵字,未用一行代碼,就實現(xiàn)了自動化的用例實現(xiàn)。
robotframework當(dāng)中,只要掌握了關(guān)鍵字的用法,就是這樣輕松的做自動化測試!
當(dāng)然,如果我們掌握了更多的測試思想和框架設(shè)計思想,可以更好的利用此工具完成自動化測試工作。
疑惑:那我還需要學(xué)代碼嗎?
既然robotframework這樣的工具就可以實現(xiàn)自動化測試,那是不是沒有必要學(xué)習(xí)代碼 ?
答案是否定的。文章來源:http://www.zghlxwxcb.cn/news/detail-688733.html
- 工具不是萬能的,始終都有局限性。很多時候,它現(xiàn)有的功能,并不能夠完全適配我們的測試項目。
工具解決不了的問題,我們需要對它做擴展或另行處理。還好,robot本身支持python/java語言對它做擴展。
- 如果只會用工具,工具的局限性就是你的局限性。掌握代碼,你可以做更多的事情。
工作當(dāng)中,除了寫用例之外,我們還要完成領(lǐng)導(dǎo)的各個小需求。比如自動收集數(shù)據(jù)?比如定制化的報告?
同時,也需要各種小手段來提高測試效率。
- 未來,要開發(fā)能夠適應(yīng)公司測試項目的 通用型的測試平臺呢??
所以,工具要會,代碼更要會。文章來源地址http://www.zghlxwxcb.cn/news/detail-688733.html
到了這里,關(guān)于作為代碼小白,我是這樣成為自動化大神的!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!