webdriver-user-agent 7.4 → 7.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ebfa0b02eb28f97547b5cfbdddd07cd6fe4340a5
4
- data.tar.gz: 665d1e9598eaed543589057ca2ebbace6e0e0448
2
+ SHA256:
3
+ metadata.gz: 9260c1a33a202278f16eadeb8c2e3e925e28896eccf6aaf778bc127460e4dbd2
4
+ data.tar.gz: 70e9b164502d0c04e60c8391e8c6b8164ea6259846cecbe29212353cbf3d45cd
5
5
  SHA512:
6
- metadata.gz: da3d4026092a697e09d2817dc7d2116bba3b1dadf01421483fa7e8d06aad03e38b4e5b3769bf8454bd4f8e297ac564077e538ff05a29af6e7c091926c357c879
7
- data.tar.gz: a5512aec12f716e47000854cbca511d98a8663ffab9196a855f3946c8897047b0a8209a95bd68db207b00bd326474030c198c3a250255ad33b2ae6255bee4d80
6
+ metadata.gz: e81485d6bf53586daae8c220ce77a8795bf576744eb19e6f6a45951f2dfea4079faadbc86ef540a8a939af0d240c35d9b5c460a719d089453e40ee2102d74736
7
+ data.tar.gz: 25524c3865c8a54ce01f3c62d46c214fa33b6f1475aea1f5321268ab5c003796f0d40a807efcd16e8198bef8b02f3cfbeffbcf909842cb12162c0f7997621297
@@ -1 +1 @@
1
- ruby-2.2.1
1
+ ruby-2.4.1
data/ChangeLog CHANGED
@@ -1,3 +1,11 @@
1
+ === Version 7.5 / 2017-8-22
2
+ * Enhancements
3
+ * Added support for modern iPhone and iPad sizes
4
+ * Added support for driving Safari and Safari Technology Preview
5
+ * Updated to use new Watir namespace
6
+ * Updated to Ruby 2.4.1
7
+ * Updated Chrome and Firefox options configuration to use new Selenium syntax
8
+
1
9
  === Version 7.4 / 2016-1-6
2
10
  * Enhancements
3
11
  * Added support for iPad Pro and iPhone 6/6s (Thanks samnissen)
@@ -17,4 +25,3 @@
17
25
  === Version 7.1 / 2014-3-2
18
26
  * Enhancements
19
27
  * Added ipad 7 device support (Thanks Matthwe Fleeger)
20
-
data/README.md CHANGED
@@ -25,6 +25,7 @@ provides a UserAgent.driver method to return a new web-driver with user agent an
25
25
  * :browser
26
26
  * :firefox (default)
27
27
  * :chrome
28
+ * :safari
28
29
  * :agent
29
30
  * :iphone (default)
30
31
  * :ipad
@@ -51,9 +52,9 @@ provides a UserAgent.driver method to return a new web-driver with user agent an
51
52
  driver.execute_script('return navigator.userAgent')
52
53
  # random agent like "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1"
53
54
 
54
- ### Example using watir-webdriver
55
+ ### Example using watir
55
56
 
56
- require 'watir-webdriver'
57
+ require 'watir'
57
58
  require 'webdriver-user-agent'
58
59
  driver = Webdriver::UserAgent.driver(:browser => :chrome, :agent => :iphone, :orientation => :landscape)
59
60
  browser = Watir::Browser.new(driver)
@@ -11,44 +11,59 @@
11
11
  :width: 1366
12
12
  :height: 768
13
13
  :iphone_default: &iphone_default
14
- :user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4"
14
+ :user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1"
15
15
  :portrait:
16
16
  :width: 375
17
- :height: 559
17
+ :height: 635
18
18
  :landscape:
19
- :width: 667
19
+ :width: 724
20
20
  :height: 375
21
- :iphone:
21
+ :iphone: &iphone
22
22
  <<: *iphone_default
23
- :iphone6splus:
23
+ :iphonex:
24
+ <<: *iphone_default
25
+ :iphone8plus: &iphone8plus
24
26
  <<: *iphone_default
25
27
  :portrait:
26
28
  :width: 414
27
- :height: 628
29
+ :height: 622
28
30
  :landscape:
29
31
  :width: 736
30
32
  :height: 414
31
- :iphone6s:
32
- <<: *iphone_default
33
- :iphone6plus:
33
+ :iphone8: &iphone8
34
34
  <<: *iphone_default
35
35
  :portrait:
36
- :width: 414
37
- :height: 628
36
+ :width: 375
37
+ :height: 553
38
38
  :landscape:
39
- :width: 736
40
- :height: 414
39
+ :width: 667
40
+ :height: 375
41
+ :iphone7plus:
42
+ <<: *iphone8plus
43
+ :iphone7:
44
+ <<: *iphone8
45
+ :portrait:
46
+ :iphone6splus:
47
+ <<: *iphone8plus
48
+ :iphone6s:
49
+ <<: *iphone8
50
+ :iphone6plus:
51
+ <<: *iphone8plus
41
52
  :iphone6:
42
- <<: *iphone_default
43
- :iphone5s:
53
+ <<: *iphone8
54
+ :iphone5s: &iphone5s
44
55
  <<: *iphone_default
45
56
  :portrait:
46
57
  :width: 320
47
- :height: 460
58
+ :height: 454
48
59
  :landscape:
49
60
  :width: 568
50
- :height: 212
51
- :iphone4s:
61
+ :height: 320
62
+ :iphonese:
63
+ <<: *iphone5s
64
+ :iphone5:
65
+ <<: *iphone5s
66
+ :iphone4s: &iphone4s
52
67
  <<: *iphone_default
53
68
  :portrait:
54
69
  :width: 320
@@ -56,22 +71,44 @@
56
71
  :landscape:
57
72
  :width: 480
58
73
  :height: 196
59
- :ipad:
60
- :user_agent: "Mozilla/5.0(iPad; U; CPU OS 8_1_1 like Mac OS X) AppleWebKit/600.14 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4"
74
+ :iphone4:
75
+ <<: *iphone4s
76
+ :ipad: &ipad
77
+ :user_agent: "Mozilla/5.0 (iPad; CPU OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1"
61
78
  :portrait:
62
79
  :width: 768
63
- :height: 960
80
+ :height: 954
64
81
  :landscape:
65
82
  :width: 1024
66
- :height: 704
67
- :ipad_pro:
68
- :user_agent: "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B137 Safari/601.1"
83
+ :height: 698
84
+ :ipad_default:
85
+ <<: *ipad
86
+ :ipad_pro: &ipad_pro
87
+ <<: *ipad
69
88
  :portrait:
70
89
  :width: 1024
71
- :height: 1302
90
+ :height: 1296
72
91
  :landscape:
73
92
  :width: 1366
74
- :height: 960
93
+ :height: 954
94
+ :ipad_pro_12:
95
+ <<: *ipad_pro
96
+ :ipad_pro_10:
97
+ <<: *ipad
98
+ :portrait:
99
+ :width: 834
100
+ :height: 1042
101
+ :landscape:
102
+ :width: 1112
103
+ :height: 764
104
+ :ipad_pro_9:
105
+ <<: *ipad
106
+ :portrait:
107
+ :width: 768
108
+ :height: 954
109
+ :landscape:
110
+ :width: 1024
111
+ :height: 698
75
112
  :android_phone:
76
113
  :user_agent: "Mozilla/5.0 (Linux; U; Android 4.0.1; en-us; sdk Build/ICS_MR0) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
77
114
  :portrait:
@@ -2,6 +2,9 @@ require 'facets/hash/except'
2
2
 
3
3
  module Webdriver
4
4
  module UserAgent
5
+
6
+ MINIMUM_MACOS_VERSION_NUMBER = 12
7
+
5
8
  class BrowserOptions
6
9
 
7
10
  def initialize(opts, user_agent_string)
@@ -9,9 +12,10 @@ module Webdriver
9
12
  options[:browser] ||= :firefox
10
13
  options[:agent] ||= :iphone
11
14
  options[:orientation] ||= :portrait
12
-
15
+ set_preview_option(options[:safari_technology_preview]) if (@options[:browser] == :safari)
16
+
13
17
  options[:viewport_width], options[:viewport_height] = parse_viewport_sizes(options[:viewport_width], options[:viewport_height])
14
-
18
+
15
19
  initialize_for_browser(user_agent_string)
16
20
  end
17
21
 
@@ -32,25 +36,68 @@ module Webdriver
32
36
  @options ||= {}
33
37
  end
34
38
 
39
+ def set_preview_option(opt)
40
+ @stp = opt
41
+ @stp = false unless @stp.is_a?(TrueClass)
42
+ end
43
+
35
44
  def initialize_for_browser(user_agent_string)
36
45
  case options[:browser]
37
46
  when :firefox
38
- options[:profile] ||= Selenium::WebDriver::Firefox::Profile.new
39
- options[:profile]['general.useragent.override'] = user_agent_string
47
+ profile ||= Selenium::WebDriver::Firefox::Profile.new
48
+ profile['general.useragent.override'] = user_agent_string
49
+
50
+ options[:options] ||= Selenium::WebDriver::Firefox::Options.new
51
+ options[:options].profile = profile
40
52
  when :chrome
41
- options[:switches] ||= []
42
- options[:switches] << "--user-agent=#{user_agent_string}"
53
+ options[:options] ||= Selenium::WebDriver::Chrome::Options.new
54
+ options[:options].add_argument "--user-agent=#{user_agent_string}"
55
+ when :safari
56
+ change_safari_user_agent_string(user_agent_string)
57
+ options
43
58
  else
44
- raise "WebDriver UserAgent currently only supports :firefox and :chrome."
59
+ raise "WebDriver UserAgent currently only supports :chrome, :firefox and :safari."
45
60
  end
46
-
47
61
  end
48
-
62
+
49
63
  def parse_viewport_sizes(width, height)
50
64
  return ["0","0"] unless "#{width}".to_i > 0 && "#{height}".to_i > 0
51
-
65
+
52
66
  ["#{width}", "#{height}"]
53
67
  end
68
+
69
+ def change_safari_user_agent_string(user_agent_string)
70
+ raise "Safari requires a Mac" unless OS.mac?
71
+
72
+ ua = "\\\"#{user_agent_string}\\\"" # escape for shell quoting
73
+ if @stp
74
+ Selenium::WebDriver::Safari.technology_preview!
75
+ cmd = "defaults write com.apple.SafariTechnologyPreview CustomUserAgent \"#{ua}\""
76
+ else
77
+ cmd = "defaults write com.apple.Safari CustomUserAgent \"#{ua}\""
78
+ end
79
+
80
+ output = `#{cmd}`
81
+
82
+ error_message = "Unable to execute '#{cmd}'. "
83
+ error_message += "Error message reported: '#{output}'"
84
+ error_message += "Please execute the command manually and correct any errors."
85
+
86
+ raise error_message unless $?.success?
87
+ end
88
+
89
+ # Require a Mac at version 12 (Sierra) or greater
90
+ def require_mac_version
91
+ raise "Safari requires a Mac" unless OS.mac?
92
+ raise "Selenium only works with Safari on Sierra or newer" unless valid_mac_version?
93
+ end
94
+
95
+ def valid_mac_version?
96
+ version = "#{`defaults read loginwindow SystemVersionStampAsString`}"
97
+ version_number = "#{version.split(".")[1]}"
98
+ version_number.to_i >= MINIMUM_MACOS_VERSION_NUMBER
99
+ end
100
+
54
101
  end
55
102
  end
56
103
  end
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'os'
2
3
  require 'selenium-webdriver'
3
4
  require 'webdriver-user-agent/browser_options'
4
5
  require 'webdriver-user-agent/devices'
@@ -14,18 +15,22 @@ module Webdriver
14
15
  user_agent_string ||= agent_string_for opts[:agent]
15
16
  options = BrowserOptions.new(opts, user_agent_string)
16
17
  build_driver_using options
18
+ ensure
19
+ if safari?(opts)
20
+ case
21
+ when opts[:safari_technology_preview].is_a?(TrueClass)
22
+ `defaults delete com.apple.SafariTechnologyPreview CustomUserAgent`
23
+ else
24
+ `defaults delete com.apple.Safari CustomUserAgent`
25
+ end
26
+ end
17
27
  end
18
28
 
19
29
  private
20
30
 
21
31
  def resize_inner_window(driver, width, height)
22
- if driver.browser == :firefox or :chrome
23
- driver.execute_script("window.open(#{driver.current_url.to_json},'_blank');")
24
- driver.close
25
- driver.switch_to.window driver.window_handles.first
26
- end
27
32
  target_size = Selenium::WebDriver::Dimension.new(width.to_i, height.to_i)
28
- driver.manage.window.size = target_size
33
+ driver.manage.window.resize_to target_size.width, target_size.height
29
34
  end
30
35
 
31
36
  def build_driver_using(options)
@@ -36,6 +41,9 @@ module Webdriver
36
41
  driver
37
42
  end
38
43
 
44
+ def safari?(o = {})
45
+ o[:browser] == :safari
46
+ end
39
47
  end
40
48
  end
41
49
  end
@@ -4,15 +4,18 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
  require 'webdriver-user-agent'
6
6
  require 'selenium-webdriver'
7
- require 'watir-webdriver'
7
+ require 'watir'
8
8
 
9
- CHROMEBROWSER_UICHROME_HEIGHT = 72
10
- CHROMEBROWSER_UI_MINIMUM_HEIGHT = 200
11
- FIREFOXBROWSER_UICHROME_HEIGHT = 79
9
+ CHROMEBROWSER_UICHROME_HEIGHT = 114
10
+ CHROMEBROWSER_UICHROME_HEIGHT_TALL = 41
11
+ CHROMEBROWSER_UI_MINIMUM_HEIGHT = 158
12
+ FIREFOXBROWSER_UICHROME_HEIGHT = 74
13
+ SAFARIBROWSER_UICHROME_HEIGHT = 38
12
14
 
13
15
  describe "webdriver user agent" do
14
16
  after :each do
15
- @driver.quit if @driver
17
+ @browser.close if @browser rescue nil
18
+ @driver.quit if @driver rescue nil
16
19
  end
17
20
 
18
21
  # window.innerWidth and window.innerHeight
@@ -25,7 +28,16 @@ describe "webdriver user agent" do
25
28
  expect(@driver.browser).to eq(:firefox)
26
29
  expect(@driver.execute_script('return navigator.userAgent')).to include 'iPhone'
27
30
  expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(375)
28
- expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(559 - FIREFOXBROWSER_UICHROME_HEIGHT)
31
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(635 - FIREFOXBROWSER_UICHROME_HEIGHT)
32
+ end
33
+
34
+ it "can create a new webdriver driver using safari and iphone 6 plus, and landscape" do
35
+ @driver = Webdriver::UserAgent.driver(:browser => :safari, :agent => :iphone6plus, :orientation => :landscape)
36
+ expect(@driver.browser).to eq(:safari)
37
+
38
+ expect(@driver.execute_script('return navigator.userAgent')).to include 'iPhone'
39
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(736)
40
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(414 - SAFARIBROWSER_UICHROME_HEIGHT)
29
41
  end
30
42
 
31
43
  it "can create a new webdriver driver using chrome and iphone 6 plus (landscape)" do
@@ -37,16 +49,16 @@ describe "webdriver user agent" do
37
49
  end
38
50
 
39
51
  it "can create a new webdriver driver using chrome and iPad (landscape)" do
40
- @driver = Webdriver::UserAgent.driver(:browser => :chrome, :agent => :iPad, :orientation => :landscape)
52
+ @driver = Webdriver::UserAgent.driver(:browser => :chrome, :agent => :ipad, :orientation => :landscape)
41
53
  expect(@driver.browser).to eq(:chrome)
42
54
  expect(@driver.execute_script('return navigator.userAgent')).to include 'iPad'
43
55
  expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(1024)
44
- expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(704 - CHROMEBROWSER_UICHROME_HEIGHT)
56
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(698 - CHROMEBROWSER_UICHROME_HEIGHT)
45
57
  end
46
58
 
47
59
  it "can create a new webdriver driver using chrome and iPad Pro (portrait)" do
48
60
  # Testing the height will fail if your monitor is not tall enough.
49
- # For instance, a 15" MacBook Pro cannot be.
61
+ # For instance, a 15" MacBook Pro at default scaled resolution cannot be.
50
62
  # This will determine if your monitor is tall enough.
51
63
  # Optionally, you can override with an environment variable:
52
64
  # `I_HAVE_A_TALL_MONITOR=true rspec spec/this_file.rb`
@@ -86,7 +98,7 @@ describe "webdriver user agent" do
86
98
  expect(@driver.browser).to eq(:chrome)
87
99
  expect(@driver.execute_script('return navigator.userAgent')).to include 'Android'
88
100
  expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(768)
89
- expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(873 - CHROMEBROWSER_UICHROME_HEIGHT)
101
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(873 - CHROMEBROWSER_UICHROME_HEIGHT_TALL)
90
102
  end
91
103
 
92
104
  it "can create a new webdriver driver using firefox and desktop (landscape)" do
@@ -116,11 +128,14 @@ describe "webdriver user agent" do
116
128
  it "can create a new webdriver driver using an existing firefox profile" do
117
129
  profile = Selenium::WebDriver::Firefox::Profile.new
118
130
  profile['browser.startup.homepage'] = "data:text/html,<title>hello</title>"
119
- @driver = Webdriver::UserAgent.driver(:browser => :firefox, :profile => profile)
131
+ options = Selenium::WebDriver::Firefox::Options.new
132
+ options.profile = profile
133
+ @driver = Webdriver::UserAgent.driver(:browser => :firefox, options: options)
134
+
120
135
  expect(@driver.browser).to eq(:firefox)
121
136
  expect(@driver.execute_script('return navigator.userAgent')).to include 'iPhone'
122
137
  expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(375)
123
- expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(559 - FIREFOXBROWSER_UICHROME_HEIGHT)
138
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(635 - FIREFOXBROWSER_UICHROME_HEIGHT)
124
139
  end
125
140
 
126
141
  it "can create a new webdriver driver using firefox and user-specified user agent" do
@@ -141,15 +156,16 @@ describe "webdriver user agent" do
141
156
  end
142
157
 
143
158
  it "can create a new webdriver driver, handling for nonsense height and widths" do
144
- @driver = Webdriver::UserAgent.driver(:viewport_width => "abc", :agent => :iphone6)
159
+ @driver = Webdriver::UserAgent.driver(:viewport_width => "abc", :agent => :iphone8)
145
160
  expect(@driver.execute_script('return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)')).to eq(375)
146
- expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(559 - FIREFOXBROWSER_UICHROME_HEIGHT)
161
+ expect(@driver.execute_script('return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)')).to eq(553 - FIREFOXBROWSER_UICHROME_HEIGHT)
147
162
  end
148
163
 
149
164
  it "can allow using selenium driver for watir browser" do
150
165
  @driver = Webdriver::UserAgent.driver(:browser => :firefox, :agent => :iphone, :orientation => :portrait)
151
166
  @browser = Watir::Browser.new @driver
152
- expect(@browser.url).to include("mozilla.org")
167
+ expect(@browser).to be_a(Watir::Browser)
168
+ expect(@browser.url).to be_a(String)
153
169
  end
154
170
 
155
171
  end
@@ -1,8 +1,8 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |gem|
4
- gem.authors = ["Alister Scott", "Jeff Morgan"]
5
- gem.email = ["alister.scott@gmail.com", "jeff.morgan@leandog.com"]
4
+ gem.authors = ["Alister Scott", "Jeff Morgan", "Sandeep Singh", "Sam Nissen"]
5
+ gem.email = ["alister.scott@gmail.com", "jeff.morgan@leandog.com", "sandeepnagra@gmail.com", "scnissen@gmail.com"]
6
6
  gem.description = %q{A helper gem to emulate populate device user agents and resolutions when using webdriver}
7
7
  gem.summary = %q{A helper gem to emulate populate device user agents and resolutions when using webdriver}
8
8
  gem.homepage = "https://github.com/alisterscott/webdriver-user-agent"
@@ -12,14 +12,15 @@ Gem::Specification.new do |gem|
12
12
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
13
  gem.name = "webdriver-user-agent"
14
14
  gem.require_paths = ["lib"]
15
- gem.version = "7.4"
15
+ gem.version = "7.5"
16
16
  gem.requirements << 'chromedriver, v2.20'
17
17
  # chromedriver v2.19 causes
18
18
  # Selenium::WebDriver::Error::NoSuchDriverError: no such session errors
19
- gem.add_dependency 'selenium-webdriver'
19
+ gem.add_dependency 'selenium-webdriver', '>= 3.4.0'
20
+ gem.add_dependency 'os'
20
21
  gem.add_dependency 'facets'
21
22
  gem.add_dependency 'json'
22
23
  gem.add_dependency 'psych'
23
24
  gem.add_development_dependency 'rspec'
24
- gem.add_development_dependency 'watir-webdriver'
25
+ gem.add_development_dependency 'watir'
25
26
  end
metadata CHANGED
@@ -1,18 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdriver-user-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: '7.4'
4
+ version: '7.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alister Scott
8
8
  - Jeff Morgan
9
+ - Sandeep Singh
10
+ - Sam Nissen
9
11
  autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2016-01-06 00:00:00.000000000 Z
14
+ date: 2018-08-21 00:00:00.000000000 Z
13
15
  dependencies:
14
16
  - !ruby/object:Gem::Dependency
15
17
  name: selenium-webdriver
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.4.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.4.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: os
16
32
  requirement: !ruby/object:Gem::Requirement
17
33
  requirements:
18
34
  - - ">="
@@ -82,7 +98,7 @@ dependencies:
82
98
  - !ruby/object:Gem::Version
83
99
  version: '0'
84
100
  - !ruby/object:Gem::Dependency
85
- name: watir-webdriver
101
+ name: watir
86
102
  requirement: !ruby/object:Gem::Requirement
87
103
  requirements:
88
104
  - - ">="
@@ -100,6 +116,8 @@ description: A helper gem to emulate populate device user agents and resolutions
100
116
  email:
101
117
  - alister.scott@gmail.com
102
118
  - jeff.morgan@leandog.com
119
+ - sandeepnagra@gmail.com
120
+ - scnissen@gmail.com
103
121
  executables: []
104
122
  extensions: []
105
123
  extra_rdoc_files: []
@@ -143,7 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
161
  requirements:
144
162
  - chromedriver, v2.20
145
163
  rubyforge_project:
146
- rubygems_version: 2.4.6
164
+ rubygems_version: 2.7.7
147
165
  signing_key:
148
166
  specification_version: 4
149
167
  summary: A helper gem to emulate populate device user agents and resolutions when