appium_lib 12.0.0.rc1 → 12.0.0.rc5

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
  SHA256:
3
- metadata.gz: 704f166f6740717dab8ff78e7aafeffc6c7044e32b867e2add3cc62e10908abe
4
- data.tar.gz: d0eba4bc4e7024a764fe7eefe2dc364e4727f8cc39fd4258a23a8a06428ca16b
3
+ metadata.gz: ceaed5e1cb87958cdcafce1b0d7e826dfe569da34a6dd28f7ab2940a13f53e95
4
+ data.tar.gz: 4eda629c4b836b7533a330a4936751fa24ce95c5e3d00e4bd4bb59df45679c2d
5
5
  SHA512:
6
- metadata.gz: c63bb7969a85ffd14cd8d3afc70af45f5ea922328fb936dfbaea75e9690be8f365afaf4e71b18f99929c05150843c5b281652094d39757758209f5aad0df0765
7
- data.tar.gz: beda668ca13cdc3b11b58f711458d2b85c8ce62c98402acaadf763e480a7b3edea60b553eac65865ae4f7dc3ddedc838fab64876a25937d612451670ed9e252e
6
+ metadata.gz: 63105145d9f64f44bb1d460dc5363f733320ab3cf0dd292934e24358dda2d561dcf495e23b17f733500a77400404c95128a5b317f0847c9c3de89a3934cdb2e2
7
+ data.tar.gz: 4857287ff17c85e001f67379f73aca5cf6a3fba732e6d5cc633df1afc64fdd646f7262a97eff5231ee32b8e823161b8264d559f3896a1bc134aeffed943c45bc
data/CHANGELOG.md CHANGED
@@ -7,7 +7,20 @@ Release tags are https://github.com/appium/ruby_lib/releases .
7
7
 
8
8
  ### 1. Enhancements
9
9
 
10
- ### 2. Bug fixes
10
+ - Update base [ruby_lib_core client](https://github.com/appium/ruby_lib_core) to v5
11
+ - Update base selenium webdriver version to `4.0.0`
12
+ - Support only W3C spec as following Selenium v4 client
13
+ - Support Ruby 2.6+
14
+ - `element.id` returns the element id instead of `element.ref`. `element.ref` now returns an array.
15
+ - Removed `forceMjsonwp` to send only MJSONWP capabilities since Selenium cleint v4 no longer supports MJSONWP
16
+ - No longer set default `timeouts` as `0`. ruby_lib_core calls `/timeouts` endpoint only when `appium_lib: { wait: 5 }` is provided explicitly
17
+ - Raises `::Appium::Core::Error::ArgumentError` instead of `ArgumentError` for this library specific argument errors
18
+
19
+ ### 2. Deprecations
20
+ - `TouchAction` and `MultiTouch` are deprecated
21
+ - Please use W3C actions instead https://github.com/appium/ruby_lib/blob/master/docs/w3c.md
22
+ - Other examples: https://github.com/appium/ruby_lib/pull/909
23
+ - Removed Selendroid related methods
11
24
 
12
25
  ## 11.1.0 - 2020-12-29 (11.2.0 is the same as this version)
13
26
 
@@ -105,7 +118,7 @@ This change has a breaking change about implicit wait.
105
118
  - **Breaking changes**
106
119
  - Set implicit wait zero by default following [WebDriver spec in Selenium](https://www.seleniumhq.org/docs/04_webdriver_advanced.jsp)
107
120
  - The change potentially break your `find_element/s`
108
- - You can wrap it with `wait` method to avoid the error explicitly
121
+ - You can wrap it with `wait` method to avoid the error explicitly
109
122
  - Or you also can configure `wait: 20` as `appium_lib` capability to keep the behaviour
110
123
  - [Experimental]
111
124
  - Add `direct_connect` capability
@@ -162,7 +175,7 @@ This change has a breaking change about implicit wait.
162
175
  { platformName: :windows,
163
176
  app: 'relative/path/to/app'
164
177
  }
165
- } # `:app` will be alsolute path to the `:app` if the path exists
178
+ } # `:app` will be alsolute path to the `:app` if the path exists
166
179
  ```
167
180
 
168
181
  ### 3. Deprecations
@@ -312,7 +325,7 @@ This change has a breaking change about implicit wait.
312
325
  ## v9.9.0
313
326
  ### 1. Enhancements
314
327
  - Bump the core library to 1.3.0
315
- - The change have one breaking change for `start_recording_screen`(Android)
328
+ - The change have one breaking change for `start_recording_screen`(Android)
316
329
  - Read `docs/migration.md`
317
330
 
318
331
  ### 2. Bug fixes
data/appium_lib.gemspec CHANGED
@@ -14,17 +14,17 @@ Gem::Specification.new do |s|
14
14
  s.homepage = 'https://github.com/appium/ruby_lib' # published as appium_lib
15
15
  s.require_paths = ['lib']
16
16
 
17
- s.add_runtime_dependency 'appium_lib_core', '5.0.0.rc5'
17
+ s.add_runtime_dependency 'appium_lib_core', '~> 5.0.0'
18
18
  s.add_runtime_dependency 'nokogiri', '~> 1.8', '>= 1.8.1'
19
19
  s.add_runtime_dependency 'tomlrb', '>= 1.1', '< 3.0'
20
20
 
21
21
  s.add_development_dependency 'appium_thor', '~> 1.1', '>= 1.1.4'
22
- s.add_development_dependency 'fakefs', '~> 1.3.0'
22
+ s.add_development_dependency 'fakefs', '~> 1.4.0'
23
23
  s.add_development_dependency 'hashdiff', '~> 1.0.0'
24
24
  s.add_development_dependency 'posix-spawn', '~> 0.3'
25
25
  s.add_development_dependency 'pry'
26
26
  s.add_development_dependency 'rake', '~> 13.0'
27
- s.add_development_dependency 'rubocop', '1.22.1'
27
+ s.add_development_dependency 'rubocop', '1.22.3'
28
28
  s.add_development_dependency 'spec', '~> 5.3', '>= 5.3.4'
29
29
  s.add_development_dependency 'yard', '~> 0.9.11'
30
30
 
@@ -782,7 +782,9 @@ module Appium
782
782
  end
783
783
 
784
784
  def log_event=(log_event)
785
- raise ArgumentError('log_event should be Hash like { vendor: "appium", event: "funEvent"}') unless log_event.is_a?(Hash)
785
+ unless log_event.is_a?(Hash)
786
+ raise ::Appium::Core::Error::ArgumentError('log_event should be Hash like { vendor: "appium", event: "funEvent"}')
787
+ end
786
788
 
787
789
  @driver.logs.event vendor: log_event[:vendor], event: log_event[:event]
788
790
  end
@@ -14,6 +14,6 @@
14
14
 
15
15
  module Appium
16
16
  # Version and Date are defined on the 'Appium' module, not 'Appium::Common'
17
- VERSION = '12.0.0.rc1' unless defined? ::Appium::VERSION
18
- DATE = '2021-10-15' unless defined? ::Appium::DATE
17
+ VERSION = '12.0.0.rc5' unless defined? ::Appium::VERSION
18
+ DATE = '2021-11-05' unless defined? ::Appium::DATE
19
19
  end
data/readme.md CHANGED
@@ -21,9 +21,11 @@ We can avoid the class driver with current `ruby_lib`, but if you'd like to impl
21
21
  # Setup
22
22
  ## Requirement
23
23
  - [Appium](https://github.com/appium/appium#requirements)
24
- - Ruby: 2.5+
24
+ - Ruby: 2.6+
25
25
 
26
26
  ### Ruby Lib and Appium
27
+
28
+ - Ruby library version over `12.0.0` is based on Selenium v4
27
29
  - Ruby library version over `9.8.0` requires Appium over `1.8`
28
30
  - Ruby library version under `9.7.5` can work with Appium under `1.7`
29
31
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.0.0.rc1
4
+ version: 12.0.0.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-10-15 00:00:00.000000000 Z
12
+ date: 2021-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: appium_lib_core
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '='
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 5.0.0.rc5
20
+ version: 5.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '='
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 5.0.0.rc5
27
+ version: 5.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: nokogiri
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -91,14 +91,14 @@ dependencies:
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: 1.3.0
94
+ version: 1.4.0
95
95
  type: :development
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: 1.3.0
101
+ version: 1.4.0
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: hashdiff
104
104
  requirement: !ruby/object:Gem::Requirement
@@ -161,14 +161,14 @@ dependencies:
161
161
  requirements:
162
162
  - - '='
163
163
  - !ruby/object:Gem::Version
164
- version: 1.22.1
164
+ version: 1.22.3
165
165
  type: :development
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
169
  - - '='
170
170
  - !ruby/object:Gem::Version
171
- version: 1.22.1
171
+ version: 1.22.3
172
172
  - !ruby/object:Gem::Dependency
173
173
  name: spec
174
174
  requirement: !ruby/object:Gem::Requirement
@@ -228,12 +228,10 @@ files:
228
228
  - docs/android_docs.md
229
229
  - docs/android_uiautomator.md
230
230
  - docs/docs.md
231
- - docs/index_paths.md
232
231
  - docs/ios_docs.md
233
232
  - docs/ios_xcuitest.md
234
233
  - docs/migration.md
235
234
  - docs/parallel.md
236
- - docs/travis.sample.yml
237
235
  - docs/w3c.md
238
236
  - lib/appium_lib.rb
239
237
  - lib/appium_lib/android/android.rb
data/docs/index_paths.md DELETED
@@ -1,26 +0,0 @@
1
- **Deprecated** Because iOS driver for UIAutomation is deprecated.
2
-
3
- # Index Paths on iOS
4
-
5
- Elements on iOS have an [index path attribute](https://github.com/appium/appium-uiauto/blob/2cf1e30801263dfc01627ded28a1be5af1083bc5/uiauto/lib/element-patch/tree-patch.js#L9)
6
- that appium calculates when the page source is requested. Note this is not the same as xpath.
7
-
8
- > <UIAStaticText name="Alerts" label="Alerts" value="Alerts" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/1/1/10/0" x="17.578125" y="596" width="53.90625" height="25.78125">
9
-
10
- The index path can be used by calling [getElementByIndexPath]( https://github.com/appium/appium-uiauto/blob/af1befa8208074686cd38b845ddefabc057106fc/uiauto/lib/mechanic-ext/xpath-ext.js#L239):
11
-
12
- ```ruby
13
- # ruby example # For Appium(automation name), not XCUITest
14
- execute_script('$.getElementByIndexPath("/0/1/1/10/0")').text # Alerts
15
- ```
16
-
17
- Internally what happens is `/0/1/1/10/0` is transformed into `1/1/10/0` and executed as follows:
18
-
19
- ```ruby
20
- # ruby example # For Appium(automation name), not XCUITest
21
- execute_script('$.mainApp().elements()[1].elements()[1].elements()[10].elements()[0]').text # Alerts
22
- ```
23
-
24
- The initial 0 refers to the context so that's [discarded](https://github.com/appium/appium-uiauto/blob/af1befa8208074686cd38b845ddefabc057106fc/uiauto/lib/mechanic-ext/xpath-ext.js#L218).
25
-
26
- In summary, you shouldn't try and convert the index path to an xpath. It's meant to be used via the built in helper method.
@@ -1,24 +0,0 @@
1
- language: objective-c
2
- sudo: false
3
- osx_image: xcode8.3
4
-
5
- cache: bundler
6
-
7
- rvm:
8
- - 2.4
9
-
10
- install:
11
- - bundle install
12
- - npm install -g appium@1.6.4
13
-
14
- before_script:
15
- - appium --log-level warn &
16
-
17
- script:
18
- - bundle exec rake rubocop
19
- - cd ios_tests; rake ios
20
-
21
- notifications:
22
- email:
23
- on_success: never
24
- on_failure: never