appium_lib_core 1.9.2 → 2.0.0

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
2
  SHA1:
3
- metadata.gz: aec92e8a1cb99521ef3546c5cfe899cf4f094544
4
- data.tar.gz: 1f14f45e5f911e91f16097efb8e9f11b1b4e4498
3
+ metadata.gz: 60e66f36921180d3073b0976cf869b4b45e0bd18
4
+ data.tar.gz: ae0c3edfa4a2980a838925db375bd23a930e0632
5
5
  SHA512:
6
- metadata.gz: 8824a2c98ba3c3d4013423148547f2e4719e61529720fd49d8cf5739e9ab7be283788589ec6e94ea1784cc04089560c636c93fc367d3ce16beb83604efd3636f
7
- data.tar.gz: 26021c0d05e942354ac979108fd2dd10fe252656e867e6c4cbfbf45476efb3dbe86b0d36d42b65fe64e5fc075786da27551145f6abe0a38c8f4c10329e5aec44
6
+ metadata.gz: 9668a6c5d79ac9a601053701e04352cc5f784feee083e6e9212df4b7abe17013bb388649150c8307bf2b51f3def19cc589b459172e672c79aeeb924d661f567d
7
+ data.tar.gz: 7f31ad1475d509bab47e484800d4294dffe37018865a8fd92d9e17de8410853d45a9199bf63f104de5392ef66ad4703dcdda3d43167e61b5e0dc5689274d50a8
@@ -8,11 +8,25 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  ### Deprecations
10
10
 
11
+ ## [2.0.0] - 2018-08-25
12
+
13
+ This release has a breaking change for creating core. Thus, I've bumped the major version.
14
+
15
+ ### Enhancements
16
+ - use `autoload` to load Android/iOS modules
17
+
18
+ ### Bug fixes
19
+
20
+ ### Deprecations
21
+ - `@core = Appium::Core.for(self, opts)` is deprecated in favor of `@core = Appium::Core.for(opts)`
22
+ - Call `extend Appium::Core::Device` if you'd like to extend methods defined in `Appium::Core`
23
+ - Read [#816](https://github.com/appium/ruby_lib/pull/816) as an example
24
+
11
25
  ## [1.9.2] - 2018-08-23
12
26
  ### Enhancements
13
27
 
14
28
  ### Bug fixes
15
- - fix unexpedted method missing against `:to_hash`
29
+ - fix unexpedted method missing against `:to_hash` in Element
16
30
 
17
31
  ### Deprecations
18
32
 
data/README.md CHANGED
@@ -27,8 +27,8 @@ Run functional tests which require the Appium server and real device, Simulator/
27
27
 
28
28
  - Start Appium server
29
29
  ```bash
30
- $ npm install -g appium
31
- $ appium
30
+ $ npm install -g appium opencv4nodejs
31
+ $ appium --relaxed-security # To run all tests in rocal
32
32
  ```
33
33
 
34
34
  - Conduct tests
@@ -68,7 +68,7 @@ opts = {
68
68
  wait: 30
69
69
  }
70
70
  }
71
- @core = Appium::Core.for(self, opts) # create a core driver with `opts` and extend methods into `self`
71
+ @core = Appium::Core.for(opts) # create a core driver with `opts`
72
72
  @driver = @core.start_driver
73
73
 
74
74
  # Launch iPhone Simulator and `MyiOS.app`
@@ -6,13 +6,6 @@ require_relative 'appium_lib_core/driver'
6
6
 
7
7
  require_relative 'appium_lib_core/device'
8
8
 
9
- require_relative 'appium_lib_core/android'
10
- require_relative 'appium_lib_core/android_uiautomator2'
11
- require_relative 'appium_lib_core/android_espresso'
12
-
13
- require_relative 'appium_lib_core/ios'
14
- require_relative 'appium_lib_core/ios_xcuitest'
15
-
16
9
  # Call patch after requiring other files
17
10
  require_relative 'appium_lib_core/patch'
18
11
 
@@ -67,7 +67,7 @@ module Appium
67
67
  # wait: 30
68
68
  # }
69
69
  # }
70
- # core = ::Appium::Core.for(self, caps)
70
+ # core = ::Appium::Core.for(caps)
71
71
  # driver = core.start_driver #=> driver.dialect == :oss
72
72
  #
73
73
  # @example
@@ -85,7 +85,7 @@ module Appium
85
85
  # wait: 30
86
86
  # }
87
87
  # }
88
- # core = ::Appium::Core.for(self, caps)
88
+ # core = ::Appium::Core.for(caps)
89
89
  # driver = core.start_driver #=> driver.dialect == :w3c if the Appium server support W3C.
90
90
  #
91
91
  def create_session(desired_capabilities)
@@ -9,7 +9,7 @@ module Appium
9
9
  #
10
10
  # @example
11
11
  #
12
- # @driver = Appium::Core.for(self, opts).start_driver
12
+ # @driver = Appium::Core.for(opts).start_driver
13
13
  # action_1 = TouchAction.new(@driver).press(x: 45, y: 100).wait(5).release
14
14
  # action_2 = TouchAction.new(@driver).tap(element: el, x: 50, y:5, count: 3)
15
15
  #
@@ -12,7 +12,7 @@ module Appium
12
12
  #
13
13
  # @example
14
14
  #
15
- # @driver = Appium::Core.for(self, opts).start_driver
15
+ # @driver = Appium::Core.for(opts).start_driver
16
16
  # action = TouchAction.new(@driver).press(x: 45, y: 100).wait(5).release
17
17
  # action.perform
18
18
  # action = TouchAction.new(@driver).swipe(....)
@@ -7,7 +7,7 @@ module Appium
7
7
  def extended(_mod)
8
8
  extend_webdriver_with_forwardable
9
9
 
10
- # Compatibility for appium_lib
10
+ # Compatibility for appium_lib. Below command are extended by `extend Appium::Core::Deivce`in appium_lib.
11
11
  # TODO: Will remove
12
12
  [
13
13
  :take_element_screenshot, :save_viewport_screenshot,
@@ -2,6 +2,17 @@ require 'uri'
2
2
 
3
3
  module Appium
4
4
  module Core
5
+ module Android
6
+ autoload :Uiautomator1, 'appium_lib_core/android'
7
+ autoload :Uiautomator2, 'appium_lib_core/android_uiautomator2'
8
+ autoload :Espresso, 'appium_lib_core/android_espresso'
9
+ end
10
+
11
+ module Ios
12
+ autoload :Uiautomation, 'appium_lib_core/ios'
13
+ autoload :Xcuitest, 'appium_lib_core/ios_xcuitest'
14
+ end
15
+
5
16
  class Driver
6
17
  include Waitable
7
18
  # Selenium webdriver capabilities
@@ -92,7 +103,7 @@ module Appium
92
103
  # listener: nil,
93
104
  # }
94
105
  # }
95
- # @core = Appium::Core.for(self, opts) # create a core driver with `opts` and extend methods into `self`
106
+ # @core = Appium::Core.for(opts) # create a core driver with `opts` and extend methods into `self`
96
107
  # @core.start_driver(server_url: server_url) # start driver
97
108
  #
98
109
  # # Start iOS driver with .zip file over HTTP
@@ -114,11 +125,11 @@ module Appium
114
125
  # listener: nil,
115
126
  # }
116
127
  # }
117
- # @core = Appium::Core.for(self, opts)
128
+ # @core = Appium::Core.for(opts)
118
129
  # @core.start_driver(server_url: server_url)
119
130
  #
120
- def self.for(target, opts = {})
121
- new(target, opts)
131
+ def self.for(opts = {})
132
+ new(opts)
122
133
  end
123
134
 
124
135
  # @private
@@ -128,8 +139,8 @@ module Appium
128
139
  end
129
140
 
130
141
  # @private
131
- def initialize(target, opts = {})
132
- @delegate_target = target # for testing purpose
142
+ def initialize(opts = {})
143
+ @delegate_target = self # for testing purpose
133
144
 
134
145
  opts = Appium.symbolize_keys opts
135
146
  validate_keys(opts)
@@ -141,7 +152,7 @@ module Appium
141
152
  set_appium_device
142
153
  set_automation_name
143
154
 
144
- extend_for(device: @device, automation_name: @automation_name, target: target)
155
+ extend_for(device: @device, automation_name: @automation_name)
145
156
 
146
157
  self # rubocop:disable Lint/Void
147
158
  end
@@ -179,8 +190,8 @@ module Appium
179
190
  # }
180
191
  # }
181
192
  #
182
- # @core = Appium::Core.for(self, opts) # create a core driver with `opts` and extend methods into `self`
183
- # @driver = @core.start_driver
193
+ # @core = Appium::Core.for(opts) # create a core driver with `opts` and extend methods into `self`
194
+ # @driver = @core.start_driver server_url: "http://127.0.0.1:8000/wd/hub"
184
195
  #
185
196
 
186
197
  def start_driver(server_url: nil,
@@ -307,9 +318,9 @@ module Appium
307
318
  private
308
319
 
309
320
  # @private
310
- def extend_for(device:, automation_name:, target:)
311
- target.extend Appium::Core
312
- target.extend Appium::Core::Device
321
+ def extend_for(device:, automation_name:)
322
+ extend Appium::Core
323
+ extend Appium::Core::Device
313
324
 
314
325
  case device
315
326
  when :android
@@ -341,7 +352,7 @@ module Appium
341
352
  Appium::Logger.warn('no device matched')
342
353
  end
343
354
 
344
- target
355
+ self
345
356
  end
346
357
 
347
358
  # @private
@@ -29,14 +29,10 @@ module Appium
29
29
  # e.resource_id # call `e.attribute "resource-id"`
30
30
  #
31
31
  def method_missing(method_name)
32
- white_list = [:content_desc, :long_clickable, :resource_id, :selection_start, :selection_end]
33
- attribute_name = white_list.include?(method_name) ? method_name.to_s.tr('_', '-') : method_name
34
-
35
32
  ignore_list = [:to_hash]
36
-
37
33
  return if ignore_list.include? method_name
38
34
 
39
- respond_to?(method_name) ? attribute(attribute_name) : super
35
+ respond_to?(method_name) ? attribute(method_name.to_s.tr('_', '-')) : super
40
36
  end
41
37
 
42
38
  def respond_to_missing?(*)
@@ -1,6 +1,6 @@
1
1
  module Appium
2
2
  module Core
3
- VERSION = '1.9.2'.freeze unless defined? ::Appium::Core::VERSION
4
- DATE = '2018-08-23'.freeze unless defined? ::Appium::Core::DATE
3
+ VERSION = '2.0.0'.freeze unless defined? ::Appium::Core::VERSION
4
+ DATE = '2018-08-25'.freeze unless defined? ::Appium::Core::DATE
5
5
  end
6
6
  end
@@ -1,3 +1,15 @@
1
+ #### v2.0.0 2018-08-25
2
+
3
+ - [6761ec3](https://github.com/appium/ruby_lib_core/commit/6761ec3c29c762ad5617cd42cce4eaa098f81491) Release 2.0.0
4
+ - [e2feb5e](https://github.com/appium/ruby_lib_core/commit/e2feb5e864358ed4eb4cb61914724c1d951c34ce) get rid of self from Appium::Core.for(self, opts) (#136)
5
+ - [b1c7137](https://github.com/appium/ruby_lib_core/commit/b1c7137bebe1fc1eed869c12eecece493e206c7b) use autoload (#135)
6
+ - [04dc656](https://github.com/appium/ruby_lib_core/commit/04dc656486d1b19d6ea63c1f9dd8e8ab51c26e86) separate unit tests
7
+ - [1174ad1](https://github.com/appium/ruby_lib_core/commit/1174ad1cd08091277547fb12ca5bdb7f571d9ab3) separate test cases
8
+ - [862e587](https://github.com/appium/ruby_lib_core/commit/862e587c50171e35d04f6a5c0645bf6159dfad96) Update tests for espresso aswell (#134)
9
+ - [80c7b1b](https://github.com/appium/ruby_lib_core/commit/80c7b1bc5660ce32b939b237c38ffd5ef34d75e3) just return missing methods (#133)
10
+ - [a1b7591](https://github.com/appium/ruby_lib_core/commit/a1b7591c4be8bbcea6449e8af33c20cf081b8545) tweak changelog
11
+
12
+
1
13
  #### v1.9.2 2018-08-23
2
14
 
3
15
  - [2c6ac55](https://github.com/appium/ruby_lib_core/commit/2c6ac55a0d351a6801ff2c4b80988adcdd8b44c8) Release 1.9.2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 2.0.0
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-08-22 00:00:00.000000000 Z
11
+ date: 2018-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver