selenium-webdriver 2.53.0 → 2.53.1
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 +8 -8
- data/lib/selenium/webdriver/common/platform.rb +2 -1
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/service.rb +3 -3
- data/lib/selenium/webdriver/remote/w3c_bridge.rb +17 -3
- data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -8
- data/selenium-webdriver.gemspec +1 -1
- metadata +2 -3
- data/Gemfile.lock +0 -53
    
        data/CHANGES
    CHANGED
    
    | @@ -1,16 +1,16 @@ | |
| 1 | 
            -
            2.53. | 
| 1 | 
            +
            2.53.1 (2016-06-09)
         | 
| 2 | 
            +
            ===================
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            Firefox:
         | 
| 5 | 
            +
              * Support for latest geckodriver (formerly wires)
         | 
| 6 | 
            +
              * Escape selector when converting to CSS (issue 2235)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            2.53.0 (2016-03-16)
         | 
| 2 9 | 
             
            ===================
         | 
| 3 10 |  | 
| 4 11 | 
             
            Ruby:
         | 
| 5 12 | 
             
              * Removed dependency on "multi_json" (issue 1632)
         | 
| 6 13 | 
             
              * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143)
         | 
| 7 | 
            -
              * Improve error handling when stopping browsers (thanks bsedat)
         | 
| 8 | 
            -
              * Fix deselecting options in select lists (thanks glib-briia)
         | 
| 9 | 
            -
              * Fix w3c error handling
         | 
| 10 | 
            -
              * Update w3c Capabilities support
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            IE:
         | 
| 13 | 
            -
              * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee)
         | 
| 14 14 |  | 
| 15 15 | 
             
            2.52.0 (2016-02-12)
         | 
| 16 16 | 
             
            ===================
         | 
| @@ -168,7 +168,8 @@ module Selenium | |
| 168 168 |  | 
| 169 169 | 
             
                    binary_names.each do |binary_name|
         | 
| 170 170 | 
             
                      paths.each do |path|
         | 
| 171 | 
            -
                        exe = File.join(path, binary_name)
         | 
| 171 | 
            +
                        exe = Dir.glob(File.join(path, binary_name)).first
         | 
| 172 | 
            +
                        next unless exe
         | 
| 172 173 | 
             
                        return exe if File.executable?(exe)
         | 
| 173 174 | 
             
                      end
         | 
| 174 175 | 
             
                    end
         | 
| Binary file | 
| @@ -29,11 +29,11 @@ module Selenium | |
| 29 29 | 
             
                    SOCKET_LOCK_TIMEOUT = 45
         | 
| 30 30 | 
             
                    STOP_TIMEOUT        = 5
         | 
| 31 31 | 
             
                    DEFAULT_PORT        = 4444
         | 
| 32 | 
            -
                    MISSING_TEXT        = "Unable to find  | 
| 32 | 
            +
                    MISSING_TEXT        = "Unable to find geckodriver. Please download the executable from https://github.com/mozilla/geckodriver/releases"
         | 
| 33 33 |  | 
| 34 34 | 
             
                    def self.executable_path
         | 
| 35 35 | 
             
                      @executable_path ||= (
         | 
| 36 | 
            -
                        path = Platform.find_binary "wires"
         | 
| 36 | 
            +
                        path = Platform.find_binary("geckodriver*") || Platform.find_binary("wires*")
         | 
| 37 37 | 
             
                        path or raise Error::WebDriverError, MISSING_TEXT
         | 
| 38 38 | 
             
                        Platform.assert_executable path
         | 
| 39 39 |  | 
| @@ -109,7 +109,7 @@ module Selenium | |
| 109 109 | 
             
                      @socket_poller = SocketPoller.new @host, @port, START_TIMEOUT
         | 
| 110 110 |  | 
| 111 111 | 
             
                      unless @socket_poller.connected?
         | 
| 112 | 
            -
                        raise Error::WebDriverError, "unable to connect to Mozilla  | 
| 112 | 
            +
                        raise Error::WebDriverError, "unable to connect to Mozilla geckodriver #{@host}:#{@port}"
         | 
| 113 113 | 
             
                      end
         | 
| 114 114 | 
             
                    end
         | 
| 115 115 |  | 
| @@ -599,13 +599,13 @@ module Selenium | |
| 599 599 | 
             
                      case how
         | 
| 600 600 | 
             
                      when 'class name'
         | 
| 601 601 | 
             
                        how = 'css selector'
         | 
| 602 | 
            -
                        what = ".#{what}"
         | 
| 602 | 
            +
                        what = ".#{escape_css(what)}"
         | 
| 603 603 | 
             
                      when 'id'
         | 
| 604 604 | 
             
                        how = 'css selector'
         | 
| 605 | 
            -
                        what = "##{what}"
         | 
| 605 | 
            +
                        what = "##{escape_css(what)}"
         | 
| 606 606 | 
             
                      when 'name'
         | 
| 607 607 | 
             
                        how = 'css selector'
         | 
| 608 | 
            -
                        what = "*[name='#{what}']"
         | 
| 608 | 
            +
                        what = "*[name='#{escape_css(what)}']"
         | 
| 609 609 | 
             
                      when 'tag name'
         | 
| 610 610 | 
             
                        how = 'css selector'
         | 
| 611 611 | 
             
                      end
         | 
| @@ -652,6 +652,20 @@ module Selenium | |
| 652 652 | 
             
                      @escaper ||= defined?(URI::Parser) ? URI::Parser.new : URI
         | 
| 653 653 | 
             
                    end
         | 
| 654 654 |  | 
| 655 | 
            +
                    ESCAPE_CSS_REGEXP = /(['"\\#.:;,!?+<>=~*^$|%&@`{}\-\[\]\(\)])/
         | 
| 656 | 
            +
                    UNICODE_CODE_POINT = 30
         | 
| 657 | 
            +
             | 
| 658 | 
            +
                    # Escapes invalid characters in CSS selector.
         | 
| 659 | 
            +
                    # @see https://mathiasbynens.be/notes/css-escapes
         | 
| 660 | 
            +
                    def escape_css(string)
         | 
| 661 | 
            +
                      string = string.gsub(ESCAPE_CSS_REGEXP) { |match| "\\#{match}" }
         | 
| 662 | 
            +
                      if !string.empty? && string[0] =~ /[[:digit:]]/
         | 
| 663 | 
            +
                        string = "\\#{UNICODE_CODE_POINT + Integer(string[0])} #{string[1..-1]}"
         | 
| 664 | 
            +
                      end
         | 
| 665 | 
            +
             | 
| 666 | 
            +
                      string
         | 
| 667 | 
            +
                    end
         | 
| 668 | 
            +
             | 
| 655 669 | 
             
                  end # W3CBridge
         | 
| 656 670 | 
             
                end # Remote
         | 
| 657 671 | 
             
              end # WebDriver
         | 
| @@ -32,15 +32,12 @@ module Selenium | |
| 32 32 | 
             
                      :platform_name => :any,
         | 
| 33 33 | 
             
                      :platform_version => :any,
         | 
| 34 34 | 
             
                      :accept_ssl_certs => false,
         | 
| 35 | 
            -
                      :takes_screenshot => false,
         | 
| 36 | 
            -
                      :takes_element_screenshot => false,
         | 
| 37 35 | 
             
                      :page_load_strategy => 'normal',
         | 
| 38 36 | 
             
                      :proxy => nil
         | 
| 39 37 | 
             
                    }
         | 
| 40 38 |  | 
| 41 39 | 
             
                    KNOWN = [
         | 
| 42 40 | 
             
                        :remote_session_id,
         | 
| 43 | 
            -
                        :specification_level,
         | 
| 44 41 | 
             
                        :xul_app_id,
         | 
| 45 42 | 
             
                        :raise_accessibility_exceptions,
         | 
| 46 43 | 
             
                        :rotatable,
         | 
| @@ -113,8 +110,6 @@ module Selenium | |
| 113 110 | 
             
                        caps.platform_name = data.delete("platformName") if data.key? "platformName"
         | 
| 114 111 | 
             
                        caps.platform_version = data.delete("platformVersion") if data.key? "platformVersion"
         | 
| 115 112 | 
             
                        caps.accept_ssl_certs = data.delete("acceptSslCerts") if data.key? "acceptSslCerts"
         | 
| 116 | 
            -
                        caps.takes_screenshot = data.delete("takesScreenshot") if data.key? "takesScreenshot"
         | 
| 117 | 
            -
                        caps.takes_element_screenshot = data.delete("takesElementScreenshot") if data.key? "takesElementScreenshot"
         | 
| 118 113 | 
             
                        caps.page_load_strategy = data.delete("pageLoadStrategy") if data.key? "pageloadStrategy"
         | 
| 119 114 | 
             
                        proxy = data.delete('proxy')
         | 
| 120 115 | 
             
                        caps.proxy = Proxy.json_create(proxy) unless proxy.nil? || proxy.empty?
         | 
| @@ -127,7 +122,6 @@ module Selenium | |
| 127 122 | 
             
                        data.delete('cssSelectorsEnabled')
         | 
| 128 123 |  | 
| 129 124 | 
             
                        # Marionette Specific
         | 
| 130 | 
            -
                        caps[:specification_level] = data.delete("specificationLevel")
         | 
| 131 125 | 
             
                        caps[:xul_app_id] = data.delete("XULappId")
         | 
| 132 126 | 
             
                        caps[:raise_accessibility_exceptions] = data.delete('raisesAccessibilityExceptions')
         | 
| 133 127 | 
             
                        caps[:rotatable] = data.delete('rotatable')
         | 
| @@ -146,8 +140,6 @@ module Selenium | |
| 146 140 | 
             
                    # @option :platform_name            [Symbol] one of :any, :win, :mac, or :x
         | 
| 147 141 | 
             
                    # @option :platform_version         [String] required platform version number
         | 
| 148 142 | 
             
                    # @option :accept_ssl_certs         [Boolean] does the driver accept SSL Cerfifications?
         | 
| 149 | 
            -
                    # @option :takes_screenshot         [Boolean] can this driver take screenshots?
         | 
| 150 | 
            -
                    # @option :takes_element_screenshot [Boolean] can this driver take element screenshots?
         | 
| 151 143 | 
             
                    # @option :proxy                    [Selenium::WebDriver::Proxy, Hash] proxy configuration
         | 
| 152 144 | 
             
                    #
         | 
| 153 145 | 
             
                    # @api public
         | 
    
        data/selenium-webdriver.gemspec
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            name: selenium-webdriver
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 4 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 2.53. | 
| 5 | 
            +
              version: 2.53.1
         | 
| 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: 2016- | 
| 13 | 
            +
            date: 2016-06-09 00:00:00 -07:00
         | 
| 14 14 | 
             
            default_executable: 
         | 
| 15 15 | 
             
            dependencies: 
         | 
| 16 16 | 
             
              - !ruby/object:Gem::Dependency 
         | 
| @@ -118,7 +118,6 @@ extra_rdoc_files: [] | |
| 118 118 | 
             
            files: 
         | 
| 119 119 | 
             
              - CHANGES
         | 
| 120 120 | 
             
              - Gemfile
         | 
| 121 | 
            -
              - Gemfile.lock
         | 
| 122 121 | 
             
              - LICENSE
         | 
| 123 122 | 
             
              - README.md
         | 
| 124 123 | 
             
              - selenium-webdriver.gemspec
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,53 +0,0 @@ | |
| 1 | 
            -
            PATH
         | 
| 2 | 
            -
              remote: .
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                selenium-webdriver (2.53.0dev)
         | 
| 5 | 
            -
                  childprocess (~> 0.5)
         | 
| 6 | 
            -
                  rubyzip (~> 1.0)
         | 
| 7 | 
            -
                  websocket (~> 1.0)
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            GEM
         | 
| 10 | 
            -
              remote: https://rubygems.org/
         | 
| 11 | 
            -
              specs:
         | 
| 12 | 
            -
                addressable (2.4.0)
         | 
| 13 | 
            -
                builder (3.2.2)
         | 
| 14 | 
            -
                childprocess (0.5.9)
         | 
| 15 | 
            -
                  ffi (~> 1.0, >= 1.0.11)
         | 
| 16 | 
            -
                ci_reporter (1.9.3)
         | 
| 17 | 
            -
                  builder (>= 2.1.2)
         | 
| 18 | 
            -
                crack (0.4.2)
         | 
| 19 | 
            -
                  safe_yaml (~> 1.0.0)
         | 
| 20 | 
            -
                diff-lcs (1.2.5)
         | 
| 21 | 
            -
                ffi (1.9.10)
         | 
| 22 | 
            -
                hashdiff (0.2.3)
         | 
| 23 | 
            -
                rack (1.6.4)
         | 
| 24 | 
            -
                rspec (2.99.0)
         | 
| 25 | 
            -
                  rspec-core (~> 2.99.0)
         | 
| 26 | 
            -
                  rspec-expectations (~> 2.99.0)
         | 
| 27 | 
            -
                  rspec-mocks (~> 2.99.0)
         | 
| 28 | 
            -
                rspec-core (2.99.2)
         | 
| 29 | 
            -
                rspec-expectations (2.99.2)
         | 
| 30 | 
            -
                  diff-lcs (>= 1.1.3, < 2.0)
         | 
| 31 | 
            -
                rspec-mocks (2.99.4)
         | 
| 32 | 
            -
                rubyzip (1.2.0)
         | 
| 33 | 
            -
                safe_yaml (1.0.4)
         | 
| 34 | 
            -
                webmock (1.22.3)
         | 
| 35 | 
            -
                  addressable (>= 2.3.6)
         | 
| 36 | 
            -
                  crack (>= 0.3.2)
         | 
| 37 | 
            -
                  hashdiff
         | 
| 38 | 
            -
                websocket (1.2.2)
         | 
| 39 | 
            -
                yard (0.8.7.6)
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            PLATFORMS
         | 
| 42 | 
            -
              ruby
         | 
| 43 | 
            -
             | 
| 44 | 
            -
            DEPENDENCIES
         | 
| 45 | 
            -
              ci_reporter (~> 1.6, >= 1.6.2)
         | 
| 46 | 
            -
              rack (~> 1.0)
         | 
| 47 | 
            -
              rspec (~> 2.99.0)
         | 
| 48 | 
            -
              selenium-webdriver!
         | 
| 49 | 
            -
              webmock (~> 1.7, >= 1.7.5)
         | 
| 50 | 
            -
              yard (~> 0.8.7)
         | 
| 51 | 
            -
             | 
| 52 | 
            -
            BUNDLED WITH
         | 
| 53 | 
            -
               1.11.2
         |