robotframework其實就是一個自動化的框架,想要進行什么樣的自動化測試,就需要在這框架上添加相應(yīng)的庫文件,而用于webui頁面自動化測試的就是selenium庫.
?關(guān)于robotframework框架的搭建我這里就不說了,今天就給大家根據(jù)一個登錄的實例來講一講,selenium庫的相關(guān)應(yīng)用吧。 要想運用selenium庫,首先是導(dǎo)入此庫的信息。在哪里導(dǎo)入呢?
那就是在我們已經(jīng)安裝好的robotframework的操作頁面即ride中導(dǎo)入。
打開ride,按照以下順序依次建立項目:
1、新建測試項目
2、新建測試套件,在已經(jīng)建好的項目下建立測試套件
3、新建測試用例,在已經(jīng)建立好的套件下,創(chuàng)建自動化測試用例
建好以后的結(jié)構(gòu)如下:
在建好的目錄上左鍵單擊套件名稱,就會出現(xiàn)如下頁面:
單擊右上方的library標(biāo)簽,就會彈出如下頁面:
在此頁面,你可以直接在name欄輸入selenium庫文件名點OK,也可以點browse按鈕,選擇selenium庫文件名,一般我是直接輸入名稱來導(dǎo)入的。
在這里輸入的庫文件名是Selenium2Library,導(dǎo)入成功后,在setting項目頁面上就會一條黑色的記錄展示出來,下圖是導(dǎo)入了多個庫以后的展示,如果導(dǎo)入失敗,庫名稱將顯示為紅色,這時候你就要查看日志找原因了,這里就不多說了。
庫文件可以導(dǎo)入在套件下,也可以在根目錄下導(dǎo)入,不同位置導(dǎo)入的使用的范圍不同,其它沒有區(qū)別。
庫文件導(dǎo)入成功以后,我們就可以開始webui頁面自動化測試腳本的編寫了。
我們就拿登錄163郵箱來做一個測試吧。
登錄163郵箱的測試用例大概是這樣的:
首先是打開163郵箱登錄頁面
其次是輸入正確的賬號,密碼
然后登錄
最后是檢查登錄是否成功。
我們根據(jù)已經(jīng)寫好的測試用例步驟及檢查結(jié)果來寫這條自動化測試腳本,寫好的腳本大概是這樣的:
結(jié)合這個腳本給大家講講這里面這些字段的用法:
Teardown:這個字段可以理解為后處理,就是自動化腳本跑完做的一個處理,在運用selenium庫進行自動化測試的時候,這里面一般是設(shè)置的close browse,就是自動化用例腳本跑完之后,關(guān)閉瀏覽器。
Timeout:超時時間設(shè)置,這個設(shè)置的作用就是防止自動化腳本在執(zhí)行測試的時候卡在某一個環(huán)節(jié)一走卡著,不能進行下一條腳本測試。這個時間的設(shè)置要根據(jù)當(dāng)前你測試腳本花費的時間來填寫,并沒有固定值。
這兩個是測試腳本的一個預(yù)設(shè)值,接下來的內(nèi)容就是登錄163郵箱的一個實際測試腳本了。
我們的所看到的截圖中的第一列藍色的字體的關(guān)鍵字,其實也就是我們對應(yīng)的操作動作。
Open browse:就是打開瀏覽器,這一行所對應(yīng)的第二列就是我們要登錄的163郵箱的地址,所對應(yīng)的第三列就是瀏覽器類型,我們常用的瀏覽器類型有IE,chrome,firefox等,這個根據(jù)實際填寫,所要說明一點的是,無論你輸入的是哪個瀏覽器,在python的安裝目錄下,一定要有這個瀏覽器相應(yīng)的驅(qū)動文件,有驅(qū)動文件版本必須與你電腦上當(dāng)前安安裝的瀏覽器版本是一致的,否則腳本運行就會報錯。
Sleep:在打開瀏覽器這個動作后我用了一個關(guān)鍵字sleep,其實就是等待的意思,因為打開瀏覽器網(wǎng)頁到頁面完全展示出來是有一定時間的,所以在這里我用了一個sleep關(guān)鍵字,時間是根據(jù)網(wǎng)頁完全展示出來的一個估算時間,你可以用wait until element contains這樣一個關(guān)鍵字來等待
Select frame.:在完全展示出來后,這里又用一個select frame來選擇一下窗口,sele為什么要用這個,是因為輸入賬號,密碼,登錄這幾個選擇在網(wǎng)頁中用了這樣的一個嵌套的格式,如果不用select frame來選擇一下,無論我們賬號,密碼輸入的定位多正確,自動執(zhí)行測試的時候都無法輸入賬號,密碼從而進行登錄。
那么如何知道這個頁面用了frame呢,就要通過查看網(wǎng)頁的html代碼來看了。像這個登錄頁面,當(dāng)選中賬號輸入框時其位置代碼相應(yīng)位置被標(biāo)藍,順著這個位置向上查它的父路徑,發(fā)現(xiàn)有一個iframe標(biāo)簽,選中iframe. 標(biāo)簽這段代碼,發(fā)現(xiàn)整個賬號,密碼框,登錄所在的位置都被選中,說明這幾個元素是在iframe標(biāo)簽下的,我們要定位這幾個元素,需先選中切換到里面去。
像這種需要進行選擇切換的還有網(wǎng)頁內(nèi)嵌套表格,通過跳轉(zhuǎn)鏈接打開新的網(wǎng)頁等,大家在進行元素定位時要多留意相應(yīng)的標(biāo)簽,在進行元素定位時,使用正確的選擇關(guān)鍵字。
如從百度首頁通過鏈接進入hao123網(wǎng)頁,因為是打開新的網(wǎng)頁,在這里就用了switch window.
Input text:賬號,密碼輸入,這行對應(yīng)的第二列就是賬號密碼框所對應(yīng)的位置,這個位置是如何定位出來的,這里用到了了selenium庫中的元素定位。元素定位常用的有CSS,Xpath,name,id等,這里就不詳述了,不會的可以到網(wǎng)上搜一下。
此兩行所對應(yīng)的第三列,就是相應(yīng)的用戶名和密碼。在這里我把用戶名和密碼設(shè)置成一個變量,所以在用的時候是直接引用了變量名。
變量的設(shè)置很簡單的,選中套件或根目錄右鍵單擊,在彈出的菜單中選中new scalar,,在接下來彈出的頁面中,設(shè)置變量名,和變量值點OK就可以了,如用戶名變量的設(shè)置:
Click element:這是一個單擊鼠標(biāo)左鍵的動作,所對應(yīng)的第二列是此元素的位置路徑。鼠標(biāo)左鍵單擊還有click button,click link,click button關(guān)鍵字一般用于元素type為button時,如果元素 type不是button類型的,用這個關(guān)鍵字,就不會執(zhí)行這個鼠標(biāo)動作。
Click link一般用于這個元素包含有超鏈接時,如百度首頁的hao123圖片,就帶了一個超鏈接屬性:
好了,接著上面的腳本來說,在登錄動作后,這里又用了一個sleep,其實這里也可以用wait until這樣的關(guān)鍵字的,這個看個人習(xí)慣,不論用哪一個等待,這個地方都是要等幾秒中才能進行下一步操作的,原因同上。
unselect frame:這個是和select frame同對出現(xiàn)的,使用了select frame關(guān)鍵字之后,在跳出這個格式以后,一定要釋放掉。
Element should be enabled:這是登錄成功后的一個驗證,驗證頁面是否跳轉(zhuǎn)到了我們所期望的頁面中去,那么這里的所對應(yīng)的第二列的元素位置就是跳轉(zhuǎn)以后可以代表這個頁面的的一個元素的位置。
好了,用selenium庫進行webui頁面測試的相關(guān)內(nèi)容就給大家介紹到這里。最后再給大家說一下,selenium庫關(guān)鍵字有很多,要用哪個,怎么用記不住的話,可以在ride用例編寫頁面按F5 鍵查看哦。文章來源:http://www.zghlxwxcb.cn/news/detail-655940.html
Web自動化測試全套實戰(zhàn)教程:Python+Selenium4環(huán)境搭建文章來源地址http://www.zghlxwxcb.cn/news/detail-655940.html
到了這里,關(guān)于robotframework+selenium 進行webui頁面自動化測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!