appium_lib_core 2.0.5 → 2.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 364a81fd6f049768204fc9dc30f2f51265176de7
4
- data.tar.gz: 75dc09e05f7772dc5d7ee4423179a0d41d2721e4
3
+ metadata.gz: 50de09b5e32508e0e2841b1905fb3cc0bb4cb8b4
4
+ data.tar.gz: 44d09537b742efbe6639c82c813eae1e8645d21d
5
5
  SHA512:
6
- metadata.gz: 260ec3ebbf46eb42899faffe340c118f7c088c9c904f3d2e392398a7bd7dd7cf11331c4c76b6dad8d877fd58f42f2aae1a20af08dae643463770f444ab02743d
7
- data.tar.gz: 13864b02d704a12247ba774e2bee8ca827ebc5a22bed183657910f45437fd68bacbde2f6c6754870eb9b3b6555dc1db463a84750eb950b786319b0171170bc8e
6
+ metadata.gz: cbcffe7d2fdf5812d106329813c73cf5a0fc125c3b0a5ee6974cebc871bae072091a7dcd6eb0e9312ee6cee86428686028ee402b965c2d1aad347feb3bd630fd
7
+ data.tar.gz: 0f733629ea7fb84cf3bf335f689dcd2a0d5f235567fdd6204b31dbae94baa9ff57273d2eebe2389f097de43c8f7690e1a6de2256090e32c91a8b7054a7e7eb6a
@@ -16,6 +16,8 @@ Metrics/PerceivedComplexity:
16
16
  Max: 10
17
17
  Metrics/ParameterLists:
18
18
  Max: 6
19
+ Lint/NestedMethodDefinition:
20
+ Enabled: false
19
21
  Style/Documentation:
20
22
  Enabled: false
21
23
  Style/CommentedKeyword:
@@ -24,9 +26,9 @@ Style/PercentLiteralDelimiters:
24
26
  Enabled: false
25
27
  Style/BracesAroundHashParameters:
26
28
  Enabled: false
27
- Lint/NestedMethodDefinition:
29
+ Style/SymbolArray:
28
30
  Enabled: false
29
31
  Naming/AccessorMethodName:
30
32
  Enabled: false
31
- Style/SymbolArray:
33
+ Naming/MemoizedInstanceVariableName:
32
34
  Enabled: false
@@ -9,6 +9,15 @@ Read `release_notes.md` for commit level details.
9
9
 
10
10
  ### Deprecations
11
11
 
12
+ ## [2.0.6] - 2018-11-08
13
+ ### Enhancements
14
+ - Allow selenium update following Pi versioning like 3.141.0
15
+ - [internal] Update dev libraries
16
+
17
+ ### Bug fixes
18
+
19
+ ### Deprecations
20
+
12
21
  ## [2.0.5] - 2018-10-30
13
22
  ### Enhancements
14
23
  - [internal] No longer send `strategy: :tapOutside` as default value in Android
data/README.md CHANGED
@@ -34,7 +34,8 @@ $ appium --relaxed-security # To run all tests in local
34
34
  - Conduct tests
35
35
  ```bash
36
36
  $ bundle install
37
- $ rake test:func:android # Andorid
37
+ $ rake test:func:android # Andorid, uiautomator2
38
+ $ AUTOMATION_NAME=espresso rake test:func:android # Andorid, uiautomator2
38
39
  $ rake test:func:ios # iOS
39
40
  ```
40
41
 
@@ -87,7 +88,7 @@ opts = {
87
88
  - Run the script
88
89
  ```bash
89
90
  # shell 1
90
- $ appium
91
+ $ appium --log-level warn:error # show only warning and error logs
91
92
 
92
93
  # shell 2
93
94
  $ ruby test.rb
data/Rakefile CHANGED
@@ -57,8 +57,18 @@ namespace :test do
57
57
  end
58
58
 
59
59
  namespace :android do
60
+ desc('uninstall all of test apks from a test device')
61
+ task :uninstall_test_apks do |_t, _args|
62
+ `adb uninstall io.appium.uiautomator2.server.test`
63
+ `adb uninstall io.appium.uiautomator2.server`
64
+ `adb uninstall io.appium.settings`
65
+ `adb uninstall io.appium.android.ime`
66
+ `adb uninstall io.appium.espressoserver.test`
67
+ end
68
+
69
+
60
70
  desc('Generate and launch android emulators')
61
- task :gen_device do |_t, _args|
71
+ task :gen_device do |_t, _args|
62
72
  SWARMER_VERSION = '0.2.4'
63
73
  CPU_ARCHITECTURE = 'x86'
64
74
  IMAGE = 'google_apis'
@@ -95,10 +105,11 @@ RuboCop::RakeTask.new(:rubocop) do |t|
95
105
  t.fail_on_error = true
96
106
  end
97
107
 
98
- desc("print commands which haven't implemented yet.")
108
+ desc("print commands which Ruby client has not implemented them yet.")
99
109
  namespace :commands do
100
110
  require './script/commands'
101
111
 
112
+ desc('Mobile JSON protocol')
102
113
  task :mjsonwp do |_t, _args|
103
114
  c = Script::CommandsChecker.new
104
115
  c.get_mjsonwp_routes
@@ -106,6 +117,7 @@ namespace :commands do
106
117
  c.all_diff_commands_mjsonwp.each { |key, value| puts("command: #{key}, method: #{value}") }
107
118
  end
108
119
 
120
+ desc('W3C protocol')
109
121
  task :w3c do |_t, _args|
110
122
  c = Script::CommandsChecker.new
111
123
  c.get_mjsonwp_routes
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_runtime_dependency 'selenium-webdriver', '~> 3.14.1'
25
+ spec.add_runtime_dependency 'selenium-webdriver', '~> 3.14', '>= 3.14.1'
26
26
  spec.add_runtime_dependency 'faye-websocket', '~> 0.10.0'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 1.14'
@@ -30,9 +30,9 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'yard', '~> 0.9.11'
31
31
  spec.add_development_dependency 'minitest', '~> 5.0'
32
32
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
33
- spec.add_development_dependency 'webmock', '~> 3.1.0'
34
- spec.add_development_dependency 'rubocop', '0.51.0'
35
- spec.add_development_dependency 'appium_thor', '~> 0.0', '>= 0.0.7'
33
+ spec.add_development_dependency 'webmock', '~> 3.4.0'
34
+ spec.add_development_dependency 'rubocop', '0.60.0'
35
+ spec.add_development_dependency 'appium_thor', '~> 1.0'
36
36
  spec.add_development_dependency 'pry'
37
37
  spec.add_development_dependency 'pry-byebug'
38
38
  spec.add_development_dependency 'parallel_tests'
@@ -20,11 +20,11 @@ module Appium
20
20
 
21
21
  hash.each_with_object({}) do |pair, acc|
22
22
  key = begin
23
- pair[0].to_sym
24
- rescue StandardError => e
25
- ::Appium::Logger.warn(e.message)
26
- pair[0]
27
- end
23
+ pair[0].to_sym
24
+ rescue StandardError => e
25
+ ::Appium::Logger.warn(e.message)
26
+ pair[0]
27
+ end
28
28
 
29
29
  value = pair[1]
30
30
  acc[key] = value.is_a?(Hash) ? symbolize_keys(value) : value
@@ -294,10 +294,13 @@ module Appium
294
294
  ::Appium::Core::Device.add_endpoint_method(:start_activity) do
295
295
  def start_activity(opts)
296
296
  raise 'opts must be a hash' unless opts.is_a? Hash
297
+
297
298
  app_package = opts[:app_package]
298
299
  raise 'app_package is required' unless app_package
300
+
299
301
  app_activity = opts[:app_activity]
300
302
  raise 'app_activity is required' unless app_activity
303
+
301
304
  app_wait_package = opts.fetch(:app_wait_package, '')
302
305
  app_wait_activity = opts.fetch(:app_wait_activity, '')
303
306
 
@@ -135,9 +135,7 @@ module Appium
135
135
 
136
136
  ::Appium::Core::Device.add_endpoint_method(:set_network_speed) do
137
137
  def set_network_speed(netspeed)
138
- unless NET_SPEED.member? netspeed.to_sym
139
- raise "The netspeed should be member of #{NET_SPEED}. Not #{netspeed}."
140
- end
138
+ raise "The netspeed should be member of #{NET_SPEED}. Not #{netspeed}." unless NET_SPEED.member? netspeed.to_sym
141
139
 
142
140
  execute(:set_network_speed, {}, { netspeed: netspeed })
143
141
  end
@@ -145,9 +143,7 @@ module Appium
145
143
 
146
144
  ::Appium::Core::Device.add_endpoint_method(:set_power_capacity) do
147
145
  def set_power_capacity(percent)
148
- unless (0..100).member? percent
149
- raise "The percent should be between 0 and 100. Not #{percent}."
150
- end
146
+ raise "The percent should be between 0 and 100. Not #{percent}." unless (0..100).member? percent
151
147
 
152
148
  execute(:set_power_capacity, {}, { percent: percent })
153
149
  end
@@ -24,6 +24,7 @@ module Appium
24
24
 
25
25
  unless bug_report.nil?
26
26
  raise 'bug_report should be true or false' unless [true, false].member?(bug_report)
27
+
27
28
  option[:bugReport] = bug_report
28
29
  end
29
30
 
@@ -25,6 +25,7 @@ module Appium
25
25
  unless ::Selenium::WebDriver::Remote::Capabilities.respond_to?(desired_capabilities)
26
26
  raise ::Selenium::WebDriver::Error::WebDriverError, "invalid desired capability: #{desired_capabilities.inspect}"
27
27
  end
28
+
28
29
  desired_capabilities = ::Selenium::WebDriver::Remote::Capabilities.__send__(desired_capabilities)
29
30
  end
30
31
 
@@ -105,9 +106,7 @@ module Appium
105
106
  end
106
107
  end
107
108
 
108
- unless @session_id
109
- raise ::Selenium::WebDriver::Error::WebDriverError, 'no sessionId in returned payload'
110
- end
109
+ raise ::Selenium::WebDriver::Error::WebDriverError, 'no sessionId in returned payload' unless @session_id
111
110
 
112
111
  json_create(oss_status, value)
113
112
  end
@@ -281,6 +281,9 @@ module Appium
281
281
  #
282
282
  # @driver.push_file "/file/to/path", "data"
283
283
  #
284
+ # file = File.read "your/path/to/test_image.png"
285
+ # @driver.push_file "/sdcard/Pictures", file # Push a file binary to /sdcard/Pictures path in Android
286
+ #
284
287
  def push_file(path, filedata)
285
288
  @bridge.push_file(path, filedata)
286
289
  end
@@ -4,6 +4,7 @@ module Appium
4
4
  module SearchContext
5
5
  # referenced: ::Selenium::WebDriver::SearchContext
6
6
 
7
+ # rubocop:disable Layout/AlignHash
7
8
  FINDERS = ::Selenium::WebDriver::SearchContext::FINDERS.merge(
8
9
  accessibility_id: 'accessibility id',
9
10
  image: '-image',
@@ -20,6 +21,7 @@ module Appium
20
21
  # Tizen
21
22
  tizen_uiautomation: '-tizen uiautomation'
22
23
  )
24
+ # rubocop:enable Layout/AlignHash
23
25
 
24
26
  #
25
27
  # Find the first element matching the given arguments
@@ -119,6 +121,7 @@ module Appium
119
121
  def _set_by_from_finders(how)
120
122
  by = FINDERS[how.to_sym]
121
123
  raise ArgumentError, "cannot find element by #{how.inspect}. Available finders are #{FINDERS.keys}." unless by
124
+
122
125
  by
123
126
  end
124
127
 
@@ -129,15 +132,12 @@ module Appium
129
132
  when 1
130
133
  arg = args.first
131
134
 
132
- unless arg.respond_to?(:shift)
133
- raise ArgumentError, "expected #{arg.inspect}:#{arg.class} to respond to #shift"
134
- end
135
+ raise ArgumentError, "expected #{arg.inspect}:#{arg.class} to respond to #shift" unless arg.respond_to?(:shift)
135
136
 
136
137
  # this will be a single-entry hash, so use #shift over #first or #[]
137
138
  arr = arg.dup.shift
138
- unless arr.size == 2
139
- raise ArgumentError, "expected #{arr.inspect} to have 2 elements"
140
- end
139
+
140
+ raise ArgumentError, "expected #{arr.inspect} to have 2 elements" unless arr.size == 2
141
141
 
142
142
  arr
143
143
  else
@@ -1,3 +1,4 @@
1
+ # rubocop:disable Layout/AlignHash
1
2
  module Appium
2
3
  module Core
3
4
  # ref: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js
@@ -87,3 +88,4 @@ module Appium
87
88
  end # module Commands
88
89
  end # module Core
89
90
  end # module Appium
91
+ # rubocop:enable Layout/AlignHash
@@ -1,3 +1,4 @@
1
+ # rubocop:disable Layout/AlignHash
1
2
  module Appium
2
3
  module Core
3
4
  module Commands
@@ -12,3 +13,4 @@ module Appium
12
13
  end # module Commands
13
14
  end # module Core
14
15
  end # Appium
16
+ # rubocop:enable Layout/AlignHash
@@ -1,3 +1,4 @@
1
+ # rubocop:disable Layout/AlignHash
1
2
  module Appium
2
3
  module Core
3
4
  module Commands
@@ -40,3 +41,4 @@ module Appium
40
41
  end # module Commands
41
42
  end # module Core
42
43
  end # module Appium
44
+ # rubocop:enable Layout/AlignHash
@@ -111,12 +111,12 @@ module Appium
111
111
  unless MATCH_FEATURES[:detector_name].member?(detector_name.to_s)
112
112
  raise "detector_name should be #{MATCH_FEATURES[:detector_name]}"
113
113
  end
114
+
114
115
  unless MATCH_FEATURES[:match_func].member?(match_func.to_s)
115
116
  raise "match_func should be #{MATCH_FEATURES[:match_func]}"
116
117
  end
117
- unless MATCH_FEATURES[:visualize].member?(visualize)
118
- raise "visualize should be #{MATCH_FEATURES[:visualize]}"
119
- end
118
+
119
+ raise "visualize should be #{MATCH_FEATURES[:visualize]}" unless MATCH_FEATURES[:visualize].member?(visualize)
120
120
 
121
121
  options = {}
122
122
  options[:detectorName] = detector_name.to_s.upcase
@@ -128,9 +128,7 @@ module Appium
128
128
  end
129
129
 
130
130
  def find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil)
131
- unless MATCH_TEMPLATE[:visualize].member?(visualize)
132
- raise "visualize should be #{MATCH_TEMPLATE[:visualize]}"
133
- end
131
+ raise "visualize should be #{MATCH_TEMPLATE[:visualize]}" unless MATCH_TEMPLATE[:visualize].member?(visualize)
134
132
 
135
133
  options = {}
136
134
  options[:visualize] = visualize
@@ -140,9 +138,7 @@ module Appium
140
138
  end
141
139
 
142
140
  def get_images_similarity(first_image:, second_image:, visualize: false)
143
- unless GET_SIMILARITY[:visualize].member?(visualize)
144
- raise "visualize should be #{GET_SIMILARITY[:visualize]}"
145
- end
141
+ raise "visualize should be #{GET_SIMILARITY[:visualize]}" unless GET_SIMILARITY[:visualize].member?(visualize)
146
142
 
147
143
  options = {}
148
144
  options[:visualize] = visualize
@@ -28,6 +28,7 @@ module Appium
28
28
  return if force_restart.nil?
29
29
 
30
30
  raise 'force_restart should be true or false' unless [true, false].member?(force_restart)
31
+
31
32
  @upload_option[:forceRestart] = force_restart
32
33
  end
33
34
 
@@ -45,6 +45,7 @@ module Appium
45
45
  # @private CoreBridge
46
46
  def extend_webdriver_with_forwardable
47
47
  return if ::Appium::Core::Base::Driver.is_a? Forwardable
48
+
48
49
  ::Appium::Core::Base::Driver.class_eval do
49
50
  extend Forwardable
50
51
  end
@@ -58,6 +59,7 @@ module Appium
58
59
 
59
60
  def delegate_driver_method(method)
60
61
  return if ::Appium::Core::Base::Driver.method_defined? method
62
+
61
63
  ::Appium::Core::Base::Driver.class_eval { def_delegator :@bridge, method }
62
64
  end
63
65
 
@@ -132,12 +132,16 @@ module Appium
132
132
  new(opts)
133
133
  end
134
134
 
135
+ private
136
+
135
137
  # @private
136
138
  # For testing purpose of delegate_from_appium_driver
137
- private def delegated_target_for_test
139
+ def delegated_target_for_test
138
140
  @delegate_target
139
141
  end
140
142
 
143
+ public
144
+
141
145
  # @private
142
146
  def initialize(opts = {})
143
147
  @delegate_target = self # for testing purpose
@@ -227,7 +231,7 @@ module Appium
227
231
  private
228
232
 
229
233
  def create_http_client(http_client: nil, open_timeout: nil, read_timeout: nil)
230
- @http_client ||= http_client ? http_client : Appium::Core::Base::Http::Default.new
234
+ @http_client ||= http_client || Appium::Core::Base::Http::Default.new
231
235
 
232
236
  # open_timeout and read_timeout are explicit wait.
233
237
  @http_client.open_timeout = open_timeout if open_timeout
@@ -257,7 +261,7 @@ module Appium
257
261
  #
258
262
  def quit_driver
259
263
  @driver.quit
260
- rescue # rubocop:disable Lint/RescueWithoutErrorClass
264
+ rescue # rubocop:disable Style/RescueStandardError
261
265
  nil
262
266
  end
263
267
 
@@ -284,6 +288,7 @@ module Appium
284
288
  @driver.remote_status
285
289
  rescue Selenium::WebDriver::Error::ServerError => e
286
290
  raise ::Appium::Core::Error::ServerError unless e.message.include?('status code 500')
291
+
287
292
  # driver.remote_status returns 500 error for using selenium grid
288
293
  {}
289
294
  end
@@ -444,6 +449,7 @@ module Appium
444
449
  # @private
445
450
  def set_automation_name_if_nil
446
451
  return unless @automation_name.nil?
452
+
447
453
  @automation_name = if @driver.capabilities['automationName']
448
454
  @driver.capabilities['automationName'].downcase.strip.intern
449
455
  end
@@ -68,3 +68,4 @@ module Appium
68
68
  end
69
69
  end # module Core
70
70
  end # module Appium
71
+ # rubocop:enable Style/ClassAndModuleChildren
@@ -1,6 +1,6 @@
1
1
  module Appium
2
2
  module Core
3
- VERSION = '2.0.5'.freeze unless defined? ::Appium::Core::VERSION
4
- DATE = '2018-10-30'.freeze unless defined? ::Appium::Core::DATE
3
+ VERSION = '2.0.6'.freeze unless defined? ::Appium::Core::VERSION
4
+ DATE = '2018-11-08'.freeze unless defined? ::Appium::Core::DATE
5
5
  end
6
6
  end
@@ -1,3 +1,20 @@
1
+ #### v2.0.6 2018-11-08
2
+
3
+ - [b7ede91](https://github.com/appium/ruby_lib_core/commit/b7ede919a26b4d83b88955cb7d595a8538f5c146) Release 2.0.6
4
+ - [3f04490](https://github.com/appium/ruby_lib_core/commit/3f04490b6c64f38cbc191ac2e4486eefbe3ea727) add desc in some rake tasks
5
+ - [c4670c2](https://github.com/appium/ruby_lib_core/commit/c4670c2a275042d6297067f810de01d00be2333f) Allow update pi versioning (#159)
6
+ - [2dd19fa](https://github.com/appium/ruby_lib_core/commit/2dd19fa70b2fbf4684776ebcd438f133d426a91a) Update mobile_command.md
7
+ - [f8af2e3](https://github.com/appium/ruby_lib_core/commit/f8af2e3e8dbff2e6616c554db6394b42c588ddeb) append a test of push file
8
+ - [442e787](https://github.com/appium/ruby_lib_core/commit/442e787851dfd47a7a0b4caed7f4712444c6ebac) tweak readme
9
+ - [7183715](https://github.com/appium/ruby_lib_core/commit/718371524cbc977b2bf8b0b242f95ba92ca5037a) bump and fix rubocop (#158)
10
+ - [6b9f74d](https://github.com/appium/ruby_lib_core/commit/6b9f74d0b66ebf4a512dee77fa4657230ee27990) remove one todo
11
+ - [3a42bc3](https://github.com/appium/ruby_lib_core/commit/3a42bc301f76466266efa31b7919f6418fc9680b) fix rubocop
12
+ - [92712d4](https://github.com/appium/ruby_lib_core/commit/92712d4dcca1da3902e5aeea8e7eb78c3a116f17) add chrome option into helper
13
+ - [2bfc6b5](https://github.com/appium/ruby_lib_core/commit/2bfc6b53034ab5076fdea3dd67fb01445ab8d7ed) add MjpegServerTest
14
+ - [a84aa18](https://github.com/appium/ruby_lib_core/commit/a84aa18291d003655584262872004c3c835fa70d) add adbExecTimeout as an example for test
15
+ - [6400a8d](https://github.com/appium/ruby_lib_core/commit/6400a8def717cc1deb8933e23c4bfa253cc3e1e6) increase w3c functional tests for android (#157)
16
+
17
+
1
18
  #### v2.0.5 2018-10-30
2
19
 
3
20
  - [3197865](https://github.com/appium/ruby_lib_core/commit/31978651941fb169b2d63bb35aeb6005622ca9bc) Release 2.0.5
@@ -40,7 +40,7 @@ module Script
40
40
  end
41
41
 
42
42
  # @private
43
- HTTP_METHOD_MATCH = /GET:|POST:|DELETE:|PUT:|PATCH:/
43
+ HTTP_METHOD_MATCH = /GET:|POST:|DELETE:|PUT:|PATCH:/.freeze
44
44
  # @private
45
45
  WD_HUB_PREFIX_MATCH = "'/wd/hub/".freeze
46
46
 
metadata CHANGED
@@ -1,20 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-30 00:00:00.000000000 Z
11
+ date: 2018-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.14'
20
+ - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 3.14.1
20
23
  type: :runtime
@@ -22,6 +25,9 @@ dependencies:
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.14'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 3.14.1
27
33
  - !ruby/object:Gem::Dependency
@@ -114,48 +120,42 @@ dependencies:
114
120
  requirements:
115
121
  - - "~>"
116
122
  - !ruby/object:Gem::Version
117
- version: 3.1.0
123
+ version: 3.4.0
118
124
  type: :development
119
125
  prerelease: false
120
126
  version_requirements: !ruby/object:Gem::Requirement
121
127
  requirements:
122
128
  - - "~>"
123
129
  - !ruby/object:Gem::Version
124
- version: 3.1.0
130
+ version: 3.4.0
125
131
  - !ruby/object:Gem::Dependency
126
132
  name: rubocop
127
133
  requirement: !ruby/object:Gem::Requirement
128
134
  requirements:
129
135
  - - '='
130
136
  - !ruby/object:Gem::Version
131
- version: 0.51.0
137
+ version: 0.60.0
132
138
  type: :development
133
139
  prerelease: false
134
140
  version_requirements: !ruby/object:Gem::Requirement
135
141
  requirements:
136
142
  - - '='
137
143
  - !ruby/object:Gem::Version
138
- version: 0.51.0
144
+ version: 0.60.0
139
145
  - !ruby/object:Gem::Dependency
140
146
  name: appium_thor
141
147
  requirement: !ruby/object:Gem::Requirement
142
148
  requirements:
143
149
  - - "~>"
144
150
  - !ruby/object:Gem::Version
145
- version: '0.0'
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: 0.0.7
151
+ version: '1.0'
149
152
  type: :development
150
153
  prerelease: false
151
154
  version_requirements: !ruby/object:Gem::Requirement
152
155
  requirements:
153
156
  - - "~>"
154
157
  - !ruby/object:Gem::Version
155
- version: '0.0'
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: 0.0.7
158
+ version: '1.0'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: pry
161
161
  requirement: !ruby/object:Gem::Requirement