Python2.7+RobotFramework+Selenium2Library實(shí)現(xiàn)web自動(dòng)化-環(huán)境部署及使用方法

前言:1、安裝ride要依次安裝了“python”、“wxPython”、“robotframework” “robotframework-ride”。后三個(gè)安裝包在安裝時(shí),不要修改安裝路徑。

2、導(dǎo)入Selenium2Library資源庫(kù)需要依次安裝“decorator”、“selenium”、“Selenium2Library”

3、ride默認(rèn)打開(kāi)火狐瀏覽器,限47.0以下的版本可用。使用chrome瀏覽器需安裝“chromeDriver”。

Ps:文件夾里的都是64位的安裝包,如果電腦是32位的,就重新下載一個(gè)32位的安裝包,下載地址在文檔中都有寫(xiě)到。

安裝包:https://pan.baidu.com/s/1-9-Zm0XYwExRnBzA6a7rNQ
提取碼:7t9f

一、安裝python,參考python安裝說(shuō)明文檔

詳見(jiàn):http://www.itdecent.cn/p/abe5b024a354


二、安裝wxPython

1、運(yùn)行“wxPython2.8-win64-unicode-2.8.12.1-py27.exe”應(yīng)用程序

注意:最好不要使用wxPython3.0,否則可能會(huì)引起ride版本不一致,導(dǎo)致ride無(wú)法打開(kāi)

2、一直點(diǎn)下一步就可以,直到最后安裝完成。

3、安裝成功后,可能會(huì)打開(kāi)一個(gè)“README.win32.txt”記事本,直接關(guān)閉記事本就可以


三、安裝robotframework

1、運(yùn)行“robotframework-2.8.7.win-amd64.exe”應(yīng)用程序

2、一直點(diǎn)擊下一步,直到安裝完成

3、它默認(rèn)的安裝路徑就是python的安裝路徑(C:\Python27),所以不用擔(dān)心,直接安裝就好。


四、安裝ride

1、運(yùn)行“robotframework-ride-1.5.win-amd64.exe”應(yīng)用程序

2、一直點(diǎn)擊下一步

3、出現(xiàn)提示:是否創(chuàng)建桌面快捷方式時(shí),一定要選擇【是】!?。?/p>

4、安裝成功后,如果出現(xiàn)

“close failed in file object destructor:

sys.excepthook is missing

lost sys.stderr”這些提示文案也不要擔(dān)心,直接點(diǎn)[完成]就可以了。

5、雙擊點(diǎn)擊桌面的ride圖標(biāo),可以啟動(dòng)ride,如圖:

注意:我們常常會(huì)遇到,安裝完成RIDE?后,雙擊桌面的RIDE?不能啟動(dòng)的情況,可能有這幾種原因?qū)е拢?/p>

原因一:RIDE快捷方式目標(biāo)設(shè)置不對(duì)導(dǎo)致

我們可以通過(guò)右擊桌面RIDE?圖標(biāo),右擊->屬性:切換到快捷方式。把目標(biāo)(T)設(shè)置成實(shí)際路徑D:\Python27\pythonw.exe -c "from robotide import main; main()"

或C:\Python27\pythonw.exe -c "from robotide import main; main()"


原因二:由于RIDE?所依賴的wxPython?版本不一致造成的。

重新下載wxPython 2.8.12.1?版本的應(yīng)用程序并安裝


原因三:之前安裝python的時(shí)候,沒(méi)有安裝“Add Python.exe to Path”組件

卸載python重新安裝一下,安裝時(shí)參考python安裝說(shuō)明文檔。


五、安裝decorator

1、解壓“decorator-4.0.10.tar.gz”至C盤(pán)(或其他盤(pán)),選擇“解壓至當(dāng)前文件夾”

2、進(jìn)入解壓文件夾目錄下

3、cmd輸入命令python setup.py install

Ps:打開(kāi)cmd至指定目錄簡(jiǎn)易方法如下

Step1.進(jìn)入到該目錄文件夾下?

Step2.在目錄路徑下輸入cmd,點(diǎn)擊回車(chē)

----->

六、安裝selenium(同上)

1、解壓“selenium-2.40.0.tar.gz”至D盤(pán)(或其他盤(pán)),選擇“解壓至當(dāng)前文件夾”

2、進(jìn)入解壓文件夾目錄下

3、cmd輸入命令python setup.py install


七、安裝Selenium2Library(同上)

1、將“robotframework-selenium2library-master”解壓至D盤(pán)(或其他盤(pán))

2、?進(jìn)入進(jìn)入解壓文件夾目錄下

3、?cmd輸入命令:python setup.py install

六、安裝IEDriverServer、chromedriver

1、應(yīng)用程序“IEDriverServer.exe”復(fù)制到D:\Python27路徑下。

(若之前python是安裝在C:\Python27文件夾下的,就把“IEDriverServer.exe”復(fù)制到C:\Python27路徑下)

2、安裝chromeDriver與IEDriverserver方法一樣

用于自動(dòng)化測(cè)試時(shí)喚起IE瀏覽器進(jìn)行測(cè)試,可以不安裝,默認(rèn)的是火狐瀏覽器

------------------------分割線-------------------------------

二、ride工具功能熟悉

1.創(chuàng)建項(xiàng)目測(cè)試腳本

(1)創(chuàng)建測(cè)試項(xiàng)目? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

操作:選擇菜單欄file----->new Project

Name 輸入項(xiàng)目名稱。

Type 選擇Directory。

(2)創(chuàng)建測(cè)試套件

操作:右鍵點(diǎn)擊創(chuàng)建的測(cè)試項(xiàng)目文件夾----à選擇new?Suite選項(xiàng)

Name?輸入項(xiàng)目名稱。

Type?選擇File


(3)創(chuàng)建測(cè)試用例

操作:右鍵點(diǎn)擊“測(cè)試套件”-------à選擇new?Test?Case

Name? 輸入用例名稱


(4)導(dǎo)入selenium2library庫(kù)

操作1:左擊“測(cè)試項(xiàng)目”à點(diǎn)擊Libraryà 彈框Name輸入Selenium2Library

操作2:左擊“測(cè)試套件”à點(diǎn)擊Libraryà 彈框Name輸入Selenium2Library

如果導(dǎo)入的庫(kù)顯示為紅色,表示導(dǎo)入的庫(kù)不存在。如果是黑色則表示導(dǎo)入成功。

圖例:


(5)編寫(xiě)用例?

用例編寫(xiě)區(qū):

第一項(xiàng):輸入操作命令

第二項(xiàng):輸入元素定位 (或url 或?yàn)榭?,參?a href="http://www.itdecent.cn/writer#_%E4%B8%89%E3%80%81%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E8%AF%AD%E5%8F%A5" target="_blank">常用命令)

第三項(xiàng)及以后:輸入該命令需要填寫(xiě)的參數(shù)(參考常用命令


輸入框顏色變化:

命令顏色變藍(lán):說(shuō)明它是一個(gè)合法的關(guān)鍵字

紅色框:表示這個(gè)參數(shù)必填

淺灰色框:表示這個(gè)參數(shù)選填,可填入也可不填

深灰色框:表示這個(gè)參數(shù)不可填入



2.運(yùn)行測(cè)試用例  

勾選當(dāng)前需要運(yùn)行的測(cè)試用例,點(diǎn)擊工具欄運(yùn)行按鈕?

如果只運(yùn)行單個(gè)用例的話,也可以切換到用例的Run標(biāo)簽頁(yè),點(diǎn)擊“?Start”按鈕


運(yùn)行信息:


運(yùn)行信息顯示會(huì)生成三個(gè)文件:Output.xml、Log.html、Report.html

Output.xml:輸出腳本

Log.html:腳本的執(zhí)行過(guò)程的記錄

Report.html:腳本的執(zhí)行結(jié)果的展示


3.導(dǎo)入測(cè)試用例

操作:點(diǎn)擊打開(kāi)文件夾->進(jìn)入腳本存放目錄->選中腳本文件(.txt或.robot)->打開(kāi)



4.封裝關(guān)鍵字

(1)創(chuàng)建封裝關(guān)鍵字的文件夾

step1:右擊文件夾->點(diǎn)擊New Suite

step2:選擇Directory、TXT->輸入文件夾名稱->點(diǎn)擊【ok】


(2)創(chuàng)建關(guān)鍵字資源庫(kù)

step1:右擊新創(chuàng)建的‘New Resource’文件夾->點(diǎn)擊NewResource

step2:輸入Name,選擇TXT,點(diǎn)擊【OK】

Name:最好輸入英文,首字母大寫(xiě),如:Public_resource


(3)資源庫(kù)導(dǎo)入Selenium2Library庫(kù)

操作:點(diǎn)擊Resource資源庫(kù)->點(diǎn)擊Library->Name輸入Selenium2Library->點(diǎn)擊ok

備注:與測(cè)試用例導(dǎo)入方法一樣

(4)創(chuàng)建關(guān)鍵字參數(shù)命令及參數(shù)定義

step1:右擊關(guān)鍵字資源庫(kù)TXT文件->點(diǎn)擊New UserKeyword

step2:填寫(xiě)Name、Argument->點(diǎn)擊ok

Name:最好輸入英文,首字母大寫(xiě),如:Login_19lou

Argument:輸入?yún)?shù)格式${參數(shù)名},多個(gè)參數(shù)以豎線“|”隔開(kāi),如:${username}或${username}|${password}


(5)編寫(xiě)關(guān)鍵字調(diào)用用例

此處以登錄19樓為例,

${username}、${password}表示此處定義的以后調(diào)用時(shí)填寫(xiě)的參數(shù)



5.調(diào)用關(guān)鍵字

(1)導(dǎo)入關(guān)鍵字資源庫(kù)

操作:點(diǎn)擊用例套件->選擇【Resource】->點(diǎn)擊Browse找到創(chuàng)建的Public_resource.txt->ok

注意:此處導(dǎo)入資源庫(kù)是點(diǎn)擊【Resource】,不是【Library

(2)調(diào)用關(guān)鍵字命令

第一項(xiàng):命令名稱(即創(chuàng)建的關(guān)鍵字名稱)

第二、三項(xiàng):輸入?yún)?shù)值,參數(shù)值輸入順序與參數(shù)定義順序一致


------------------------分割線-------------------------------

三、常用關(guān)鍵字

1. open browser打開(kāi)瀏覽器

填寫(xiě)方式:[url |browser=firefox | alias=None | remote_url=False | desired_capabilities=None |ff_profile_dir=None ]

url:打開(kāi)的連接地址,必填

browser:使用瀏覽器,默認(rèn)為火狐,可輸入?yún)?shù)修改為其他瀏覽器


2. Close

Browser關(guān)閉瀏覽器

不需要輸入?yún)?shù)

?

3. Input Text 輸入文案

填寫(xiě)方式:[locator | text ]

locator:參數(shù)定位,如:id=userName 或 Xpath=

//*[@id="userName"]等元素定位方法,參考四、元素定位方法,必填

text:需要輸入的文案內(nèi)容,必填

?

4. Click Element 點(diǎn)擊操作

常用于 非 按鈕或文字鏈接 的點(diǎn)擊操作,如:下拉框點(diǎn)擊展開(kāi)

填寫(xiě)方式:[locator],只填寫(xiě)元素定位,必填

?

5. Click Link點(diǎn)擊文字鏈接

填寫(xiě)方式:[locator],只填寫(xiě)元素定位,必填

?

6.Click Bottom 點(diǎn)擊按鈕

填寫(xiě)方式:[locator],只填寫(xiě)元素定位,必填

?

7. Go To 前往url

在瀏覽器當(dāng)前打開(kāi)的頁(yè)面,跳轉(zhuǎn)到另外的url

填寫(xiě)方式:[url],必填

?

8.Go Back 返回上一頁(yè)

不需要輸入?yún)?shù)

?

9.sleep等待

常用于某一操作需要的響應(yīng)時(shí)間較長(zhǎng)時(shí),暫緩下一操作,避免下一操作過(guò)快,而影響測(cè)試結(jié)果。如:登錄成功后在跳轉(zhuǎn)到其他頁(yè)面,登錄成功需要一點(diǎn)響應(yīng)時(shí)間,如果直接跳轉(zhuǎn)可能會(huì)出錯(cuò)。

填寫(xiě)方式:[time_ | reason=None ]

time:必填,(直接輸入數(shù)字2,表示等待2秒)

reason:選填

?

10. Select Frame 選中frame框架

常用于頁(yè)面在frame框架下 嵌套了其他html頁(yè)面,需要先選中frame框架,才能定位到嵌套內(nèi)的元素。如:發(fā)帖頁(yè)面的文本輸入框


填寫(xiě)方式:[locator],只填寫(xiě)frame框架的元素定位,如:(上圖)id=editorIfr

?

11. Unselect Frame 取消選中Frame框架

需要在Frame框架下的html進(jìn)行的 元素定位操作結(jié)束后,添加這個(gè)命令

不需要參數(shù)

------------------------分割線-------------------------------

四、常用元素定位方法

1. id?定位

編輯格式:id=id的值

如:id=userName

id的值參考該元素信息



2. name?定位

編輯格式:name=name的值

如:name=userName

name的值參考該元素信息



3. xpath定位

(1)直接定位到該元素


編輯方式:Xpath?=?//標(biāo)簽名[@關(guān)鍵詞=’值’]?

如:Xpath?=//a[@ttname="wap_1_dh_tchd"]

表示某個(gè)層級(jí)下,<a>標(biāo)簽下的元素,這個(gè)元素有ttname,ttname的值為wap_1_dh_tchd


(2)通過(guò)定位到上一級(jí)或上上級(jí),來(lái)定位該元素


編輯方式:Xpath?=?//標(biāo)簽名[@關(guān)鍵詞=’值’] /標(biāo)簽名

如:xpath?=?//span[@class=’bg?s_ipt_w’]/input或xpath?=?//form[@id=’form1’]/span/input


(3)同時(shí)通過(guò)兩種關(guān)鍵詞定位元素


編輯方式1:Xpath?=?//標(biāo)簽名[@關(guān)鍵詞1=’值1’and@關(guān)鍵詞2=’值2’]?

如:Xpath?=//a[@id=’kw1’and@name=’wd’]

表示某個(gè)層級(jí)下,<a>標(biāo)簽下的元素,這個(gè)元素有id為kw1且name為wd


編輯方式2:Xpath?=?//標(biāo)簽名[@關(guān)鍵詞1=’值1’or@關(guān)鍵詞2=’值2’]?

表示某個(gè)層級(jí)下,<a>標(biāo)簽下的元素,這個(gè)元素有id為kw1或name為wd


(4)通過(guò)絕對(duì)路徑定位元素


編輯方式:Xpath?=/標(biāo)簽/標(biāo)簽…

如:Xpath?=?/html/body/div[1]/div[4]/div[2]/div/form/span[1]/input

注:若有多個(gè)相同名稱的標(biāo)簽,則標(biāo)簽后用[]注明第幾個(gè)標(biāo)簽數(shù);div[1]表示body標(biāo)簽下的第1個(gè)div標(biāo)簽

Xpath可已通過(guò)chrome瀏覽器獲得,右擊需要獲取Xpath的元素->點(diǎn)擊[檢查]->開(kāi)發(fā)者工具對(duì)應(yīng)的代碼區(qū),右擊->選中[Copy]->點(diǎn)擊[Copy

Xpath],即可獲取到該元素的Xpath和element



4. css定位

在 CSS 中,選擇器是一種模式,用于選擇需要添加樣式的元素

css定位的匹配規(guī)則較為復(fù)雜,不同選擇器有不同的匹配規(guī)則。


五、其他特殊情況-補(bǔ)充說(shuō)明

1.問(wèn)題:ride強(qiáng)制關(guān)閉后,無(wú)法正常打開(kāi),每次打開(kāi)就會(huì)閃退

原因:ride前置關(guān)閉后,仍有部分相關(guān)工具未關(guān)閉,導(dǎo)致ride無(wú)法啟動(dòng)

解決:安裝360任務(wù)管理器,在360任務(wù)管理器中,關(guān)閉chromedriver、conhost、pythonw等相關(guān)進(jìn)程

2.問(wèn)題:ride執(zhí)行腳本failed后,再執(zhí)行其他腳本,可能會(huì)出現(xiàn),某個(gè)命令后長(zhǎng)時(shí)間不響應(yīng)

原因:上一個(gè)腳本執(zhí)行失敗后,chromedriver沒(méi)有正常關(guān)閉,再次開(kāi)啟另一個(gè)chromedriver會(huì)互相影響

解決:停止當(dāng)前腳本,在360任務(wù)管理器中,關(guān)閉全部的chromedriver,再重新執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容