您好,登錄后才能下訂單哦!
小編給大家分享一下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(): 最大化窗口
以上是“Selenium控制瀏覽器的常用方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。