selenium-webdriver 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +16 -2
 - data/lib/selenium/webdriver/chrome/service.rb +7 -1
 - data/lib/selenium/webdriver/common.rb +1 -0
 - data/lib/selenium/webdriver/common/options.rb +8 -0
 - data/lib/selenium/webdriver/common/window.rb +59 -0
 - data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
 - data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
 - data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
 - data/lib/selenium/webdriver/firefox/profile.rb +2 -0
 - data/lib/selenium/webdriver/ie/native/win32/IEDriver.dll +0 -0
 - data/lib/selenium/webdriver/ie/native/x64/IEDriver.dll +0 -0
 - data/lib/selenium/webdriver/remote/bridge.rb +28 -4
 - data/lib/selenium/webdriver/remote/commands.rb +124 -18
 - data/lib/selenium/webdriver/remote/http/common.rb +4 -0
 - data/lib/selenium/webdriver/remote/http/persistent.rb +4 -0
 - metadata +4 -3
 
    
        data/CHANGES
    CHANGED
    
    | 
         @@ -1,3 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            2.12.0 (2011-11-10)
         
     | 
| 
      
 2 
     | 
    
         
            +
            ===================
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            * Loosened the ffi dependency now that Windows support is back (#2755).
         
     | 
| 
      
 5 
     | 
    
         
            +
            * Fix shutdown issues when using net-http-persistent against remote servers.
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Added beta window control API (see Selenium::WebDriver::Options#window).
         
     | 
| 
      
 7 
     | 
    
         
            +
            * Firefox
         
     | 
| 
      
 8 
     | 
    
         
            +
              * Support for Firefox 8.
         
     | 
| 
      
 9 
     | 
    
         
            +
              * Better reporting of page size when attempting to move out of bounds.
         
     | 
| 
      
 10 
     | 
    
         
            +
              * Beta implementation of window control.
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            2.11.0
         
     | 
| 
      
 13 
     | 
    
         
            +
            ======
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            (release skipped since it included only server-side changes)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       1 
17 
     | 
    
         
             
            2.10.0 (2011-10-27)
         
     | 
| 
       2 
18 
     | 
    
         
             
            ===================
         
     | 
| 
       3 
19 
     | 
    
         | 
| 
         @@ -12,8 +28,6 @@ 
     | 
|
| 
       12 
28 
     | 
    
         
             
            * IE:
         
     | 
| 
       13 
29 
     | 
    
         
             
              * Improve handling of #clear on disabled or readonly elements.
         
     | 
| 
       14 
30 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
31 
     | 
    
         
             
            2.9.1 (2011-10-24)
         
     | 
| 
       18 
32 
     | 
    
         
             
            ==================
         
     | 
| 
       19 
33 
     | 
    
         | 
| 
         @@ -55,7 +55,13 @@ module Selenium 
     | 
|
| 
       55 
55 
     | 
    
         
             
                    def stop
         
     | 
| 
       56 
56 
     | 
    
         
             
                      return if @process.nil? || @process.exited?
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
     | 
    
         
            -
                      Net::HTTP. 
     | 
| 
      
 58 
     | 
    
         
            +
                      Net::HTTP.start(uri.host, uri.port) do |http|
         
     | 
| 
      
 59 
     | 
    
         
            +
                        http.open_timeout = STOP_TIMEOUT / 2
         
     | 
| 
      
 60 
     | 
    
         
            +
                        http.read_timeout = STOP_TIMEOUT / 2
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                        http.head("/shutdown")
         
     | 
| 
      
 63 
     | 
    
         
            +
                      end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
       59 
65 
     | 
    
         
             
                      @process.poll_for_exit STOP_TIMEOUT
         
     | 
| 
       60 
66 
     | 
    
         
             
                    rescue ChildProcess::TimeoutError
         
     | 
| 
       61 
67 
     | 
    
         
             
                      # ok, force quit
         
     | 
| 
         @@ -15,6 +15,7 @@ require 'selenium/webdriver/common/keyboard' 
     | 
|
| 
       15 
15 
     | 
    
         
             
            require 'selenium/webdriver/common/target_locator'
         
     | 
| 
       16 
16 
     | 
    
         
             
            require 'selenium/webdriver/common/navigation'
         
     | 
| 
       17 
17 
     | 
    
         
             
            require 'selenium/webdriver/common/timeouts'
         
     | 
| 
      
 18 
     | 
    
         
            +
            require 'selenium/webdriver/common/window'
         
     | 
| 
       18 
19 
     | 
    
         
             
            require 'selenium/webdriver/common/options'
         
     | 
| 
       19 
20 
     | 
    
         
             
            require 'selenium/webdriver/common/search_context'
         
     | 
| 
       20 
21 
     | 
    
         
             
            require 'selenium/webdriver/common/action_builder'
         
     | 
| 
         @@ -0,0 +1,59 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Selenium
         
     | 
| 
      
 2 
     | 
    
         
            +
              module WebDriver
         
     | 
| 
      
 3 
     | 
    
         
            +
                
         
     | 
| 
      
 4 
     | 
    
         
            +
                #
         
     | 
| 
      
 5 
     | 
    
         
            +
                # @api beta This API may be changed or removed in a future release.
         
     | 
| 
      
 6 
     | 
    
         
            +
                # 
         
     | 
| 
      
 7 
     | 
    
         
            +
                
         
     | 
| 
      
 8 
     | 
    
         
            +
                class Window
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  def initialize(bridge)
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @bridge = bridge
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  def size=(dimension)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    unless dimension.respond_to?(:width) && dimension.respond_to?(:height)
         
     | 
| 
      
 16 
     | 
    
         
            +
                      raise ArgumentError, "expected #{dimension.inspect}:#{dimension.class}" +
         
     | 
| 
      
 17 
     | 
    
         
            +
                                            " to respond to #width and #height"
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                    @bridge.setWindowSize dimension.width, dimension.height
         
     | 
| 
      
 21 
     | 
    
         
            +
                  end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                  def size
         
     | 
| 
      
 24 
     | 
    
         
            +
                    @bridge.getWindowSize
         
     | 
| 
      
 25 
     | 
    
         
            +
                  end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  def position=(point)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    unless point.respond_to?(:x) && point.respond_to?(:y)
         
     | 
| 
      
 29 
     | 
    
         
            +
                      raise ArgumentError, "expected #{point.inspect}:#{point.class}" +
         
     | 
| 
      
 30 
     | 
    
         
            +
                                            " to respond to #x and #y"
         
     | 
| 
      
 31 
     | 
    
         
            +
                    end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    @bridge.setWindowPosition point.x, point.y
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  def position
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @bridge.getWindowPosition
         
     | 
| 
      
 38 
     | 
    
         
            +
                  end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  #
         
     | 
| 
      
 41 
     | 
    
         
            +
                  # equivalent to #size=, but accepts width and height arguments
         
     | 
| 
      
 42 
     | 
    
         
            +
                  #
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                  def resize_to(width, height)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    @bridge.setWindowSize Integer(width), Integer(height)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  #
         
     | 
| 
      
 49 
     | 
    
         
            +
                  # equivalent to #position=, but accepts x and y arguments
         
     | 
| 
      
 50 
     | 
    
         
            +
                  #
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  def move_to(x, y)
         
     | 
| 
      
 53 
     | 
    
         
            +
                    @bridge.setWindowPosition Integer(x), Integer(y)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
            end
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -90,7 +90,7 @@ module Selenium 
     | 
|
| 
       90 
90 
     | 
    
         | 
| 
       91 
91 
     | 
    
         
             
                    def create_session(desired_capabilities)
         
     | 
| 
       92 
92 
     | 
    
         
             
                      resp = raw_execute :newSession, {}, :desiredCapabilities => desired_capabilities
         
     | 
| 
       93 
     | 
    
         
            -
                      @session_id = resp['sessionId']  
     | 
| 
      
 93 
     | 
    
         
            +
                      @session_id = resp['sessionId'] or raise Error::WebDriverError, 'no sessionId in returned payload'
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
95 
     | 
    
         
             
                      Capabilities.json_create resp['value']
         
     | 
| 
       96 
96 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -183,6 +183,7 @@ module Selenium 
     | 
|
| 
       183 
183 
     | 
    
         | 
| 
       184 
184 
     | 
    
         
             
                    def quit
         
     | 
| 
       185 
185 
     | 
    
         
             
                      execute :quit
         
     | 
| 
      
 186 
     | 
    
         
            +
                      http.close
         
     | 
| 
       186 
187 
     | 
    
         
             
                    rescue *QUIT_ERRORS
         
     | 
| 
       187 
188 
     | 
    
         
             
                    end
         
     | 
| 
       188 
189 
     | 
    
         | 
| 
         @@ -202,6 +203,29 @@ module Selenium 
     | 
|
| 
       202 
203 
     | 
    
         
             
                      execute :getCurrentWindowHandle
         
     | 
| 
       203 
204 
     | 
    
         
             
                    end
         
     | 
| 
       204 
205 
     | 
    
         | 
| 
      
 206 
     | 
    
         
            +
                    def setWindowSize(width, height, handle = :current)
         
     | 
| 
      
 207 
     | 
    
         
            +
                      execute :setWindowSize, {:window_handle => handle},
         
     | 
| 
      
 208 
     | 
    
         
            +
                                               :width  => width,
         
     | 
| 
      
 209 
     | 
    
         
            +
                                               :height => height
         
     | 
| 
      
 210 
     | 
    
         
            +
                    end
         
     | 
| 
      
 211 
     | 
    
         
            +
             
     | 
| 
      
 212 
     | 
    
         
            +
                    def getWindowSize(handle = :current)
         
     | 
| 
      
 213 
     | 
    
         
            +
                      data = execute :getWindowSize, :window_handle => handle
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
                      Dimension.new data['width'], data['height']
         
     | 
| 
      
 216 
     | 
    
         
            +
                    end
         
     | 
| 
      
 217 
     | 
    
         
            +
             
     | 
| 
      
 218 
     | 
    
         
            +
                    def setWindowPosition(x, y, handle = :current)
         
     | 
| 
      
 219 
     | 
    
         
            +
                      execute :setWindowPosition, {:window_handle => handle},
         
     | 
| 
      
 220 
     | 
    
         
            +
                                                   :x => x, :y => y
         
     | 
| 
      
 221 
     | 
    
         
            +
                    end
         
     | 
| 
      
 222 
     | 
    
         
            +
             
     | 
| 
      
 223 
     | 
    
         
            +
                    def getWindowPosition(handle = :current)
         
     | 
| 
      
 224 
     | 
    
         
            +
                      data = execute :getWindowPosition, :window_handle => handle
         
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
      
 226 
     | 
    
         
            +
                      Point.new data['x'], data['y']
         
     | 
| 
      
 227 
     | 
    
         
            +
                    end
         
     | 
| 
      
 228 
     | 
    
         
            +
             
     | 
| 
       205 
229 
     | 
    
         
             
                    def getScreenshot
         
     | 
| 
       206 
230 
     | 
    
         
             
                      execute :screenshot
         
     | 
| 
       207 
231 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -264,7 +288,7 @@ module Selenium 
     | 
|
| 
       264 
288 
     | 
    
         
             
                      params = { :element => element }
         
     | 
| 
       265 
289 
     | 
    
         | 
| 
       266 
290 
     | 
    
         
             
                      if x && y
         
     | 
| 
       267 
     | 
    
         
            -
                        params.merge! 
     | 
| 
      
 291 
     | 
    
         
            +
                        params.merge! :xoffset => x, :yoffset => y
         
     | 
| 
       268 
292 
     | 
    
         
             
                      end
         
     | 
| 
       269 
293 
     | 
    
         | 
| 
       270 
294 
     | 
    
         
             
                      execute :mouseMoveTo, {}, params
         
     | 
| 
         @@ -411,13 +435,13 @@ module Selenium 
     | 
|
| 
       411 
435 
     | 
    
         
             
                    #
         
     | 
| 
       412 
436 
     | 
    
         | 
| 
       413 
437 
     | 
    
         
             
                    def raw_execute(command, opts = {}, command_hash = nil)
         
     | 
| 
       414 
     | 
    
         
            -
                      verb, path = COMMANDS[command] || raise("unknown command #{command.inspect}")
         
     | 
| 
      
 438 
     | 
    
         
            +
                      verb, path = COMMANDS[command] || raise(ArgumentError, "unknown command: #{command.inspect}")
         
     | 
| 
       415 
439 
     | 
    
         
             
                      path       = path.dup
         
     | 
| 
       416 
440 
     | 
    
         | 
| 
       417 
441 
     | 
    
         
             
                      path[':session_id'] = @session_id if path.include?(":session_id")
         
     | 
| 
       418 
442 
     | 
    
         | 
| 
       419 
443 
     | 
    
         
             
                      begin
         
     | 
| 
       420 
     | 
    
         
            -
                        opts.each { |key, value| path[key.inspect] = escaper.escape(value.to_s)}
         
     | 
| 
      
 444 
     | 
    
         
            +
                        opts.each { |key, value| path[key.inspect] = escaper.escape(value.to_s) }
         
     | 
| 
       421 
445 
     | 
    
         
             
                      rescue IndexError
         
     | 
| 
       422 
446 
     | 
    
         
             
                        raise ArgumentError, "#{opts.inspect} invalid for #{command.inspect}"
         
     | 
| 
       423 
447 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -7,34 +7,86 @@ class Selenium::WebDriver::Remote::Bridge 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
              command :newSession,                             :post,    "session"
         
     | 
| 
       9 
9 
     | 
    
         
             
              command :getCapabilities,                        :get,     "session/:session_id"
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
               
     | 
| 
       12 
     | 
    
         
            -
               
     | 
| 
       13 
     | 
    
         
            -
               
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              #
         
     | 
| 
      
 12 
     | 
    
         
            +
              # basic driver
         
     | 
| 
      
 13 
     | 
    
         
            +
              #
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       15 
15 
     | 
    
         
             
              command :getCurrentUrl,                          :get,     "session/:session_id/url"
         
     | 
| 
       16 
16 
     | 
    
         
             
              command :get,                                    :post,    "session/:session_id/url"
         
     | 
| 
       17 
     | 
    
         
            -
              command :dismissAlert,                           :post,    "session/:session_id/dismiss_alert"
         
     | 
| 
       18 
     | 
    
         
            -
              command :acceptAlert,                            :post,    "session/:session_id/accept_alert"
         
     | 
| 
       19 
     | 
    
         
            -
              command :getAlertText,                           :get,     "session/:session_id/alert_text"
         
     | 
| 
       20 
     | 
    
         
            -
              command :setAlertValue,                          :post,    "session/:session_id/alert_text"
         
     | 
| 
       21 
17 
     | 
    
         
             
              command :goForward,                              :post,    "session/:session_id/forward"
         
     | 
| 
       22 
18 
     | 
    
         
             
              command :goBack,                                 :post,    "session/:session_id/back"
         
     | 
| 
       23 
19 
     | 
    
         
             
              command :refresh,                                :post,    "session/:session_id/refresh"
         
     | 
| 
      
 20 
     | 
    
         
            +
              command :quit,                                   :delete,  "session/:session_id"
         
     | 
| 
      
 21 
     | 
    
         
            +
              command :close,                                  :delete,  "session/:session_id/window"
         
     | 
| 
      
 22 
     | 
    
         
            +
              command :getVisible,                             :get,     "session/:session_id/visible"
         
     | 
| 
      
 23 
     | 
    
         
            +
              command :setVisible,                             :post,    "session/:session_id/visible"
         
     | 
| 
      
 24 
     | 
    
         
            +
              command :getPageSource,                          :get,     "session/:session_id/source"
         
     | 
| 
      
 25 
     | 
    
         
            +
              command :getTitle,                               :get,     "session/:session_id/title"
         
     | 
| 
      
 26 
     | 
    
         
            +
              command :findElement,                            :post,    "session/:session_id/element"
         
     | 
| 
      
 27 
     | 
    
         
            +
              command :findElements,                           :post,    "session/:session_id/elements"
         
     | 
| 
      
 28 
     | 
    
         
            +
              command :getActiveElement,                       :post,    "session/:session_id/element/active"
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              #
         
     | 
| 
      
 31 
     | 
    
         
            +
              # window handling
         
     | 
| 
      
 32 
     | 
    
         
            +
              #
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              command :getCurrentWindowHandle,                 :get,     "session/:session_id/window_handle"
         
     | 
| 
      
 35 
     | 
    
         
            +
              command :getWindowHandles,                       :get,     "session/:session_id/window_handles"
         
     | 
| 
      
 36 
     | 
    
         
            +
              command :setWindowSize,                          :post,    "session/:session_id/window/:window_handle/size"
         
     | 
| 
      
 37 
     | 
    
         
            +
              command :setWindowPosition,                      :post,    "session/:session_id/window/:window_handle/position"
         
     | 
| 
      
 38 
     | 
    
         
            +
              command :getWindowSize,                          :get,     "session/:session_id/window/:window_handle/size"
         
     | 
| 
      
 39 
     | 
    
         
            +
              command :getWindowPosition,                      :get,     "session/:session_id/window/:window_handle/position"
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
              #
         
     | 
| 
      
 42 
     | 
    
         
            +
              # script execution
         
     | 
| 
      
 43 
     | 
    
         
            +
              #
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       24 
45 
     | 
    
         
             
              command :executeScript,                          :post,    "session/:session_id/execute"
         
     | 
| 
       25 
46 
     | 
    
         
             
              command :executeAsyncScript,                     :post,    "session/:session_id/execute_async"
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              #
         
     | 
| 
      
 49 
     | 
    
         
            +
              # screenshot
         
     | 
| 
      
 50 
     | 
    
         
            +
              #
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       26 
52 
     | 
    
         
             
              command :screenshot,                             :get,     "session/:session_id/screenshot"
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
              #
         
     | 
| 
      
 55 
     | 
    
         
            +
              # alerts
         
     | 
| 
      
 56 
     | 
    
         
            +
              #
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
              command :dismissAlert,                           :post,    "session/:session_id/dismiss_alert"
         
     | 
| 
      
 59 
     | 
    
         
            +
              command :acceptAlert,                            :post,    "session/:session_id/accept_alert"
         
     | 
| 
      
 60 
     | 
    
         
            +
              command :getAlertText,                           :get,     "session/:session_id/alert_text"
         
     | 
| 
      
 61 
     | 
    
         
            +
              command :setAlertValue,                          :post,    "session/:session_id/alert_text"
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
              #
         
     | 
| 
      
 64 
     | 
    
         
            +
              # target locator
         
     | 
| 
      
 65 
     | 
    
         
            +
              #
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       27 
67 
     | 
    
         
             
              command :switchToFrame,                          :post,    "session/:session_id/frame"
         
     | 
| 
       28 
68 
     | 
    
         
             
              command :switchToWindow,                         :post,    "session/:session_id/window"
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
              #
         
     | 
| 
      
 71 
     | 
    
         
            +
              # options
         
     | 
| 
      
 72 
     | 
    
         
            +
              #
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
       29 
74 
     | 
    
         
             
              command :getAllCookies,                          :get,     "session/:session_id/cookie"
         
     | 
| 
       30 
75 
     | 
    
         
             
              command :addCookie,                              :post,    "session/:session_id/cookie"
         
     | 
| 
       31 
76 
     | 
    
         
             
              command :deleteAllCookies,                       :delete,  "session/:session_id/cookie"
         
     | 
| 
       32 
77 
     | 
    
         
             
              command :deleteCookieNamed,                      :delete,  "session/:session_id/cookie/:name"
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
               
     | 
| 
       35 
     | 
    
         
            -
               
     | 
| 
       36 
     | 
    
         
            -
               
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
              #
         
     | 
| 
      
 80 
     | 
    
         
            +
              # timeouts
         
     | 
| 
      
 81 
     | 
    
         
            +
              #
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
              command :setImplicitWaitTimeout,                 :post,    "session/:session_id/timeouts/implicit_wait"
         
     | 
| 
      
 84 
     | 
    
         
            +
              command :setScriptTimeout,                       :post,    "session/:session_id/timeouts/async_script"
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
              #
         
     | 
| 
      
 87 
     | 
    
         
            +
              # element
         
     | 
| 
      
 88 
     | 
    
         
            +
              #
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
       38 
90 
     | 
    
         
             
              command :describeElement,                        :get,     "session/:session_id/element/:id"
         
     | 
| 
       39 
91 
     | 
    
         
             
              command :findChildElement,                       :post,    "session/:session_id/element/:id/element"
         
     | 
| 
       40 
92 
     | 
    
         
             
              command :findChildElements,                      :post,    "session/:session_id/element/:id/elements"
         
     | 
| 
         @@ -42,6 +94,7 @@ class Selenium::WebDriver::Remote::Bridge 
     | 
|
| 
       42 
94 
     | 
    
         
             
              command :submitElement,                          :post,    "session/:session_id/element/:id/submit"
         
     | 
| 
       43 
95 
     | 
    
         
             
              command :getElementValue,                        :get,     "session/:session_id/element/:id/value"
         
     | 
| 
       44 
96 
     | 
    
         
             
              command :sendKeysToElement,                      :post,    "session/:session_id/element/:id/value"
         
     | 
| 
      
 97 
     | 
    
         
            +
              command :uploadFile,                             :post,    "session/:session_id/file"
         
     | 
| 
       45 
98 
     | 
    
         
             
              command :getElementTagName,                      :get,     "session/:session_id/element/:id/name"
         
     | 
| 
       46 
99 
     | 
    
         
             
              command :clearElement,                           :post,    "session/:session_id/element/:id/clear"
         
     | 
| 
       47 
100 
     | 
    
         
             
              command :isElementSelected,                      :get,     "session/:session_id/element/:id/selected"
         
     | 
| 
         @@ -55,15 +108,19 @@ class Selenium::WebDriver::Remote::Bridge 
     | 
|
| 
       55 
108 
     | 
    
         
             
              command :getElementSize,                         :get,     "session/:session_id/element/:id/size"
         
     | 
| 
       56 
109 
     | 
    
         
             
              command :dragElement,                            :post,    "session/:session_id/element/:id/drag"
         
     | 
| 
       57 
110 
     | 
    
         
             
              command :getElementValueOfCssProperty,           :get,     "session/:session_id/element/:id/css/:property_name"
         
     | 
| 
       58 
     | 
    
         
            -
              command :close,                                  :delete,  "session/:session_id/window"
         
     | 
| 
       59 
111 
     | 
    
         
             
              command :getElementText,                         :get,     "session/:session_id/element/:id/text"
         
     | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
       61 
     | 
    
         
            -
               
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
              #
         
     | 
| 
      
 114 
     | 
    
         
            +
              # rotatable
         
     | 
| 
      
 115 
     | 
    
         
            +
              #
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
       62 
117 
     | 
    
         
             
              command :getScreenOrientation,                   :get,     "session/:session_id/orientation"
         
     | 
| 
       63 
118 
     | 
    
         
             
              command :setScreenOrientation,                   :post,    "session/:session_id/orientation"
         
     | 
| 
       64 
     | 
    
         
            -
              command :uploadFile,                             :post,    "session/:session_id/file"
         
     | 
| 
       65 
119 
     | 
    
         | 
| 
      
 120 
     | 
    
         
            +
              #
         
     | 
| 
       66 
121 
     | 
    
         
             
              # interactions API
         
     | 
| 
      
 122 
     | 
    
         
            +
              #
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
       67 
124 
     | 
    
         
             
              command :click,                                  :post,    "session/:session_id/click"
         
     | 
| 
       68 
125 
     | 
    
         
             
              command :doubleClick,                            :post,    "session/:session_id/doubleclick"
         
     | 
| 
       69 
126 
     | 
    
         
             
              command :mouseDown,                              :post,    "session/:session_id/buttondown"
         
     | 
| 
         @@ -72,4 +129,53 @@ class Selenium::WebDriver::Remote::Bridge 
     | 
|
| 
       72 
129 
     | 
    
         
             
              command :sendModifierKeyToActiveElement,         :post,    "session/:session_id/modifier"
         
     | 
| 
       73 
130 
     | 
    
         
             
              command :sendKeysToActiveElement,                :post,    "session/:session_id/keys"
         
     | 
| 
       74 
131 
     | 
    
         | 
| 
      
 132 
     | 
    
         
            +
              #
         
     | 
| 
      
 133 
     | 
    
         
            +
              # html 5
         
     | 
| 
      
 134 
     | 
    
         
            +
              #
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
              command :executeSql,                             :post,   "session/:session_id/execute_sql"
         
     | 
| 
      
 137 
     | 
    
         
            +
              command :getLocation,                            :get,    "session/:session_id/location"
         
     | 
| 
      
 138 
     | 
    
         
            +
              command :setLocation,                            :post,   "session/:session_id/location"
         
     | 
| 
      
 139 
     | 
    
         
            +
              command :getAppCache,                            :get,    "session/:session_id/application_cache"
         
     | 
| 
      
 140 
     | 
    
         
            +
              command :getAppCacheStatus,                      :get,    "session/:session_id/application_cache/status"
         
     | 
| 
      
 141 
     | 
    
         
            +
              command :clearAppCache,                          :delete, "session/:session_id/application_cache/clear"
         
     | 
| 
      
 142 
     | 
    
         
            +
              command :isBrowserOnline,                        :get,    "session/:session_id/browser_connection"
         
     | 
| 
      
 143 
     | 
    
         
            +
              command :setBrowserOnline,                       :post,   "session/:session_id/browser_connection"
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
              command :getLocalStorageItem,                    :get,    "session/:session_id/local_storage/key/:key"
         
     | 
| 
      
 146 
     | 
    
         
            +
              command :removeLocalStorageItem,                 :delete, "session/:session_id/local_storage/key/:key"
         
     | 
| 
      
 147 
     | 
    
         
            +
              command :getLocalStorageKeys,                    :get,    "session/:session_id/local_storage"
         
     | 
| 
      
 148 
     | 
    
         
            +
              command :setLocalStorageItem,                    :post,   "session/:session_id/local_storage"
         
     | 
| 
      
 149 
     | 
    
         
            +
              command :clearLocalStorage,                      :delete, "session/:session_id/local_storage"
         
     | 
| 
      
 150 
     | 
    
         
            +
              command :getLocalStorageSize,                    :get,    "session/:session_id/local_storage/size"
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
              command :getSessionStorageItem,                  :get,    "session/:session_id/session_storage/key/:key"
         
     | 
| 
      
 153 
     | 
    
         
            +
              command :removeSessionStorageItem,               :delete, "session/:session_id/session_storage/key/:key"
         
     | 
| 
      
 154 
     | 
    
         
            +
              command :getSessionStorageKeys,                  :get,    "session/:session_id/session_storage"
         
     | 
| 
      
 155 
     | 
    
         
            +
              command :setSessionStorageItem,                  :post,   "session/:session_id/session_storage"
         
     | 
| 
      
 156 
     | 
    
         
            +
              command :clearSessionStorage,                    :delete, "session/:session_id/session_storage"
         
     | 
| 
      
 157 
     | 
    
         
            +
              command :getSessionStorageSize,                  :get,    "session/:session_id/session_storage/size"
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
              #
         
     | 
| 
      
 160 
     | 
    
         
            +
              # ime
         
     | 
| 
      
 161 
     | 
    
         
            +
              #
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
              command :imeGetAvailableEngines,                 :get,    "session/:session_id/ime/available_engines"
         
     | 
| 
      
 164 
     | 
    
         
            +
              command :imeGetActiveEngine,                     :get,    "session/:session_id/ime/active_engine"
         
     | 
| 
      
 165 
     | 
    
         
            +
              command :imeIsActivated,                         :get,    "session/:session_id/ime/activated"
         
     | 
| 
      
 166 
     | 
    
         
            +
              command :imeDeactivate,                          :post,   "session/:session_id/ime/deactivate"
         
     | 
| 
      
 167 
     | 
    
         
            +
              command :imeActivateEngine,                      :post,   "session/:session_id/ime/activate"
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
              #
         
     | 
| 
      
 170 
     | 
    
         
            +
              # touch
         
     | 
| 
      
 171 
     | 
    
         
            +
              #
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
      
 173 
     | 
    
         
            +
              command :touchSingleTap,                         :post,   "session/:session_id/touch/click"
         
     | 
| 
      
 174 
     | 
    
         
            +
              command :touchDoubleTap,                         :post,   "session/:session_id/touch/doubleclick"
         
     | 
| 
      
 175 
     | 
    
         
            +
              command :touchLongPress,                         :post,   "session/:session_id/touch/longclick"
         
     | 
| 
      
 176 
     | 
    
         
            +
              command :touchDown,                              :post,   "session/:session_id/touch/down"
         
     | 
| 
      
 177 
     | 
    
         
            +
              command :touchUp,                                :post,   "session/:session_id/touch/up"
         
     | 
| 
      
 178 
     | 
    
         
            +
              command :touchMove,                              :post,   "session/:session_id/touch/move"
         
     | 
| 
      
 179 
     | 
    
         
            +
              command :touchScroll,                            :post,   "session/:session_id/touch/scroll"
         
     | 
| 
      
 180 
     | 
    
         
            +
              command :touchFlick,                             :post,   "session/:session_id/touch/flick"
         
     | 
| 
       75 
181 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: selenium-webdriver
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       5 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 2.12.0
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors: 
         
     | 
| 
       8 
8 
     | 
    
         
             
              - Jari Bakken
         
     | 
| 
         @@ -10,7 +10,7 @@ autorequire: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            date: 2011-10 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2011-11-10 00:00:00 +01:00
         
     | 
| 
       14 
14 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       16 
16 
     | 
    
         
             
              - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -52,7 +52,7 @@ dependencies: 
     | 
|
| 
       52 
52 
     | 
    
         
             
                requirement: &id004 !ruby/object:Gem::Requirement 
         
     | 
| 
       53 
53 
     | 
    
         
             
                  none: false
         
     | 
| 
       54 
54 
     | 
    
         
             
                  requirements: 
         
     | 
| 
       55 
     | 
    
         
            -
                    - -  
     | 
| 
      
 55 
     | 
    
         
            +
                    - - ~>
         
     | 
| 
       56 
56 
     | 
    
         
             
                      - !ruby/object:Gem::Version 
         
     | 
| 
       57 
57 
     | 
    
         
             
                        version: 1.0.9
         
     | 
| 
       58 
58 
     | 
    
         
             
                type: :runtime
         
     | 
| 
         @@ -161,6 +161,7 @@ files: 
     | 
|
| 
       161 
161 
     | 
    
         
             
              - lib/selenium/webdriver/common/target_locator.rb
         
     | 
| 
       162 
162 
     | 
    
         
             
              - lib/selenium/webdriver/common/timeouts.rb
         
     | 
| 
       163 
163 
     | 
    
         
             
              - lib/selenium/webdriver/common/wait.rb
         
     | 
| 
      
 164 
     | 
    
         
            +
              - lib/selenium/webdriver/common/window.rb
         
     | 
| 
       164 
165 
     | 
    
         
             
              - lib/selenium/webdriver/common/zipper.rb
         
     | 
| 
       165 
166 
     | 
    
         
             
              - lib/selenium/webdriver/common/core_ext/base64.rb
         
     | 
| 
       166 
167 
     | 
    
         
             
              - lib/selenium/webdriver/common/core_ext/dir.rb
         
     |