qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

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

          上一講我們介紹了如何部署selenium 2.0的開發環境,這一講我們將介紹如何使用selenium提供給我們的接口進行瀏覽器的簡單操作。

            本文將先介紹適合初級用戶的一些常用方法,然后將對一些高級用法和實現源碼進行稍微深入一些的分析。

            如何打開一個測試瀏覽器

            做自動化測試一般情況下我們都需要首先打開測試瀏覽器,瀏覽器開啟后我們方可"命令"瀏覽器去打開新頁面,點擊特定的鏈接,判斷具體的邏輯等等。因此該操作為"萬里長征的第一步",必須給以重視。具體代碼如下。需要注意的是如果使用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.match(/\b\w+$/)
          keyword = match[0] if match

            如何返回當前頁面的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方法。

            接下來

            這一節討論了瀏覽器的簡單操作,下一節我們將討論如何在頁面上執行js代碼。

          posted on 2013-09-16 11:10 順其自然EVO 閱讀(1089) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴安县| 怀集县| 自贡市| 花莲市| 科尔| 鱼台县| 太白县| 抚宁县| 扬州市| 普陀区| 上虞市| 绍兴市| 宝应县| 靖州| 科技| 松潘县| 左贡县| 松滋市| 望城县| 本溪市| 三原县| 临湘市| 涞源县| 龙门县| 同江市| 遵义市| 芜湖市| 雅安市| 大名县| 花垣县| 宁蒗| 大庆市| 武宁县| 吉首市| 泾阳县| 乌鲁木齐县| 旌德县| 方城县| 铜梁县| 武冈市| 伊川县|