Selenium-Webdriver系列教程(二)————瀏覽器的簡單操作


如何打開一個測試瀏覽器

做自動化測試一般情況下我們都需要首先打開測試瀏覽器,瀏覽器開啟后我們方可”命令”瀏覽器去打開新頁面,點擊特定的鏈接,判斷具體的邏輯等等。因此該操作為”萬里長征的第一步”,必須給以重視。具體代碼如下。需要注意的是如果使用chrome進行測試,那么必須下載安裝chrome driver

require 'rubygems'
require 'selenium-webdriver'
# 打開firefox
dr = Selenium::WebDriver.for :firefox
dr = Selenium::WebDriver.for :ff
# 打開ie
dr = Selenium::WebDriver.for :ie
dr = Selenium::WebDriver.for :internet_explorer
# 打開chrome
dr = Selenium::WebDriver.for :chrome

如何打開1個具體的url

打開瀏覽器后我們需要轉到我們的測試url。下面的代碼可以達成這個目的。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
# 使用get方法
dr.get url
# 使用navigate方法,然后再調用to方法
dr.navigate.to url

如何關閉瀏覽器

測試結束后往往需要關閉瀏覽器,下面的代碼可以完成這個任務。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
dr.get url
# 使用quit方法
dr.quit
# 使用close方法
dr.close

如何返回當前頁面的url

有時候我們需要返回當前測試頁面的url。比如在使用soso進行搜索時,當我們提交了搜索請求后,soso返回的url應該是包含我們所需要搜索的關鍵字的。

例如如果我們搜索webdriver,那么提交搜索請求后,頁面應當轉到url為http://www.soso.com /q?pid=s.idx&cid=s.idx&w=webdriver的頁面,這時候我們取到這個頁面的url,然后通過正則表達式去 匹配一下就能夠得到我們所搜索的關鍵字了。具體代碼如下。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
url = 'http://www.soso.com'
dr.navigate.to url
search_input = dr.find_element :id => 's_input'
search_input.send_keys 'webdriver'
search_input.submit
match = dr.current_url

如何返回當前頁面的title

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
url = 'http://www.soso.com'
dr.navigate.to url
puts dr.title

其他方法

  • window_handles : 返回當前所有打開瀏覽器的窗口句柄

  • window_handle : 返回當前的瀏覽器的窗口句柄

  • page_source : 返回當前頁面的源碼

  • visible? : 當前瀏覽器是否可見,並不保證支持所有瀏覽器

深入討論

操作瀏覽器的方法主要封裝在lib\selenium\webdriver\common\driver.rb文件中。

該文件定義了Selenium::WebDriver::Driver類。我們啟動瀏覽器就是調用這個類的for方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM