你該瞭解的自動化測試工具:Selenium控制瀏覽器的常用方法!
Selenium怎麼來的?
Selenium這個詞,是化學元素硒(Se)的意思。在軟體測試領域,它是絕對的自動化測試開源專案的標杆。取這個名字也是有講究的,在當時乃至如今的軟體測試領域,QTP(UFT)佔有率非常高。Quick Test Professional是Mercury公司開發的,自然就是汞(Hg)。在生物學,研究發現硒對汞有拮抗作用,也就是硒克汞。Selenium取名的用意不言而喻。
Selenium控制瀏覽器的操作
Selenium是一個用於Web應用程式測試的工具。Selenium測試直接執行在瀏覽器中,就像真正的使用者在操作一樣。支援的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
這個工具的主要功能包括:測試與瀏覽器的相容性——測試你的應用程式看是否能夠很好得工作在不同瀏覽器和作業系統之上。測試系統功能——建立迴歸測試檢驗軟體功能和使用者需求。支援自動錄製動作和自動生成 .Net、Java、Perl等不同語言的測試指令碼。
有時候我們希望能讓瀏覽器以某種尺寸開啟,讓訪問頁面在這種尺寸下執行,或者控制瀏覽器進行後退與前進操作等等。
今天主要介紹一下瀏覽器控制的一些常用屬性和方法,他們大多集中在selenium.webdriver.remote.webdriver類中。不管是用哪種瀏覽器,他們都繼承自remote.webdriver類,用的方法屬性都是相同的。
下面舉個幾個控制瀏覽器的例子。
一、控制瀏覽器視窗大小
有時候我們希望能以某種瀏覽器尺寸開啟,讓訪問的頁面在這種尺寸下執行。例如可以將瀏覽器設定成移動端大小(480* 800),然後訪問移動站點,對其樣式進行評估;WebDriver提供了set_window_size()方法來設定瀏覽器的大小。
二、設定休眠時間
由於開啟百度網址後,頁面載入需要幾秒鐘,所以最好等到頁面載入完成後再繼續下一步操作。
三、控制瀏覽器前進後退
在使用瀏覽器瀏覽網頁時,瀏覽器提供了後退和前進按鈕,可以方便地在瀏覽過的網頁之間切換,WebDriver也提供了對應的back()和forward()方法來模擬後退和前進按鈕。下面透過例子來演示這兩個方法的使用。
四、頁面重新整理
有時候頁面操作後,資料可能沒及時同步,需要重新重新整理。
五、頁面截圖
自動化用例是由程式去執行的,因此有些時候列印的錯誤資訊並不十分明確。如果在指令碼執行出錯的時候能夠對當前視窗截圖儲存,那麼透過圖片就可以非常直觀的看出出錯的原因。WebDriver提供了截圖函式get_screenshot_as_file()來擷取當前視窗:
值得注意的是,當使用視窗截圖功能時,圖片的副檔名必須是png!!
六、關閉退出瀏覽器
退出有兩種方式,一種是close;另外一種是quit。
close用於關閉當前視窗,當開啟的視窗較多時,就可以用close關閉部分視窗;
quit用於結束程式,關閉所有的視窗。
總結:
先列舉幾個常見的屬性:
current_url: 返回當前瀏覽器的url
title: 返回當前頁面title
current_window_handler:返回當前視窗的控制程式碼,這在多視窗切換的時候會用到
window_handlers: 返回當前瀏覽器的所有視窗的控制程式碼。
以下是常見的控制瀏覽器的方法:
get(url): 載入指定的網頁
back()/forward(): 對應於瀏覽器的向前向後按鈕
implicitly_wait(time): 隱式等待,在元素被找到前的等待時間,time的單位是秒。它的作用域是全域性的,一個session只用設定一次,任意元素如果在指定時間內沒有被找到則拋錯。會用單獨一篇來介紹元素等待的話題,在這裡就不詳細解釋了
close(): 關閉當前的視窗
quit(): 關閉整個瀏覽器,所有的視窗都會關閉
refresh(): 重新整理網頁
get_screenshot_as_file(filename): 儲存瀏覽器的截圖到一個png檔案, 這裡要注意filename需要是一個完整的路徑,例如/Users/jack/Downloads/screenshot.png.
set_window_position(x,y,windowHandle='current'): x,y的單位是畫素,設定瀏覽器的位置。get_window_position()則可以獲得瀏覽器當前的位置
set_window_size(width,height, windowHandle='current'): width, height的單位是畫素,設定瀏覽器的長寬。get_window_size()可以獲得瀏覽器的尺寸
maximize_window(): 最大化視窗
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2284117/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Selenium+Java自動化測試常用的方法Java
- selenium模組,web自動化,建立瀏覽器Web瀏覽器
- 測試案例,Python +Selenium啟動不同瀏覽器Python瀏覽器
- Selenium用法詳解 - - selenium自動化測試概要
- 【軟體測試】你最常用的web測試-瀏覽器相容性測試Web瀏覽器
- 自動化測試系列(2)—— 下載瀏覽器驅動瀏覽器
- 滴滴雲控制檯 Selenium 自動化測試初探
- selenium自動化測試
- 從理論到工具:帶你全面瞭解自動化測試框架框架
- 自動化測試框架Selenium的使用——安裝Selenium框架
- python自動化測試工具selenium使用指南Python
- Java Selenium WebDriver 控制瀏覽器(三)JavaWeb瀏覽器
- 一篇文章帶你瞭解Python常用自動化測試框架——PytestPython框架
- Selenium自動化測試(3)
- 瀏覽器快取你瞭解麼?瀏覽器快取
- 一篇文章帶你掌握Web自動化測試工具——SeleniumWeb
- 《手把手教你》系列技巧篇(二十一)-java+ selenium自動化測試-瀏覽器視窗的控制程式碼(詳細教程)Java瀏覽器
- 請教:有什麼常用的 java_selenium 的自動化測試框架Java框架
- 談軟體自動化測試工具的評測方法
- java+selenium 自動化測試Java
- Selenium自動化測試網頁網頁
- selenium+python自動化測試Python
- 你應該學會的Postman用法(2)-自動化測試Postman
- 跨瀏覽器測試需要面臨哪些挑戰?跨瀏覽器測試工具分享瀏覽器
- DevSecOps自動化安全測試常用工具dev
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- selenium3 webdriver啟動火狐、chrome、edge、Safari瀏覽器的方法WebChrome瀏覽器
- Selenium用法詳解 -- Selenium3 自動化測試 鍵盤事件詳解事件
- Selenium用法詳解 -- Selenium3 自動化測試 下拉框詳解
- Selenium用法 - - 自動化測試介紹
- 自動化測試 selenium 環境搭建
- ·請列舉你所瞭解的測試工具
- Selenium用法詳解 -- Selenium3 自動化測試入門到精通
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- Web自動化之瀏覽器啟動Web瀏覽器
- RemoteBrowser:類似Puppeteer的瀏覽器自動化框架REM瀏覽器框架
- Java + Selenium + OpenCV解決自動化測試中的滑塊驗證JavaOpenCV
- 呼叫瀏覽器的爬蟲——selenium瀏覽器爬蟲