testa_appium_driver 0.1.14 → 0.1.15

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: 42baeaf531486245427c9a3e2bc002e8c6bf659ec2f7e010cc7f46a56c863f2c
4
- data.tar.gz: 31ea0d036c32405f744dfdbbce04d596ff3822cd54144270bed08fd4e7e6c90c
3
+ metadata.gz: c1bc732c1a27c05473fb61ac8c8e6315f4f5349d50b646a99c8d74b0fb8110f5
4
+ data.tar.gz: 994b66f0f5c32ceabdaddbf9abede544380175ed45e1520026ccebf010f8180c
5
5
  SHA512:
6
- metadata.gz: 59ac915f5a1036eb9c943c8770295aaa5def6268685f9db2f7b802d9ac19128d39348c4a3cc9010d45fd0fea5f0ced98327f94a124b0eac55cfaff7b310193aa
7
- data.tar.gz: aec59ca33a54aed586c832e82a5aa11ca9d331759aea810a89e6e6e0bd9193f48af7b69d6323427413dffba1d3e5bd693d726db4bc88d4f6f3d7439e55bcc00d
6
+ metadata.gz: a424583a9cac3ea99d507ff72a8c9540a0727fc2402b8c9199528710cce89a6b2f15d627a9e5b29eeae3fa39414fade181a39281a0243c89435fc3ca5e589feb
7
+ data.tar.gz: ce2a9ba06bd9b56eb95b4d633262ed6a0e9a7e5316a251d2760d84888a03e3dcabdbe2e506ed96db4918e61e9fe069e3478cb14e53584cac4d9e0b3e41dcb45f
data/.gitattributes CHANGED
File without changes
data/.gitignore CHANGED
@@ -13,4 +13,5 @@
13
13
  /.idea/deployment.xml
14
14
  /.idea/workspace.xml
15
15
  /.idea/misc.xml
16
- testa_appium_driver-*.gem
16
+ testa_appium_driver-*.gem
17
+ appium-driver.iml
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- testa_appium_driver (0.1.131)
5
- appium_lib_core (= 5.1.0)
4
+ testa_appium_driver (0.1.14)
5
+ appium_lib_core (~> 5.1.0)
6
6
  json (~> 2.3)
7
7
 
8
8
  GEM
@@ -71,4 +71,4 @@ DEPENDENCIES
71
71
  testa_appium_driver!
72
72
 
73
73
  BUNDLED WITH
74
- 2.1.2
74
+ 2.3.14
@@ -1,7 +1,7 @@
1
1
  require_relative 'locator/scroll_actions'
2
2
 
3
3
 
4
- module TestaAppiumDriver
4
+ module ::TestaAppiumDriver
5
5
  #noinspection RubyTooManyInstanceVariablesInspection,RubyTooManyMethodsInspection
6
6
  class Locator
7
7
  include Helpers
@@ -184,13 +184,13 @@ module TestaAppiumDriver
184
184
  _wait(:until, args)
185
185
  end
186
186
 
187
-
188
187
  # all timeouts are disabled before check, and enabled after check
189
188
  # @return [boolean] true if it exists in the page regardless if visible or not
190
189
  def exists?
191
190
  found = true
192
191
  begin
193
- execute(skip_cache: true, ignore_implicit_wait: true)
192
+ r = execute(skip_cache: true, ignore_implicit_wait: true)
193
+ return r.count.positive? if r.is_a?(Array)
194
194
  rescue StandardError
195
195
  found = false
196
196
  end
@@ -303,6 +303,10 @@ module TestaAppiumDriver
303
303
  @driver.first_and_last_leaf(execute)
304
304
  end
305
305
 
306
+ def first_and_last_child
307
+ @driver.first_and_last_child(execute)
308
+ end
309
+
306
310
  def double_click(x = nil, y = nil)
307
311
  click(x,y, double: true)
308
312
  end
@@ -84,11 +84,11 @@ module ::TestaAppiumDriver
84
84
 
85
85
 
86
86
 
87
-
88
87
  end
89
88
  rescue => e
90
89
  raise e
91
90
  end
91
+
92
92
  elements
93
93
  end
94
94
 
@@ -1,7 +1,7 @@
1
1
  require_relative 'scroll_actions/json_wire_scroll_actions'
2
2
  require_relative 'scroll_actions/w3c_scroll_actions'
3
3
 
4
- module TestaAppiumDriver
4
+ module ::TestaAppiumDriver
5
5
 
6
6
  # Class for handling scroll actions
7
7
  class ScrollActions
@@ -221,9 +221,22 @@ module TestaAppiumDriver
221
221
 
222
222
 
223
223
  def is_end_of_scroll?
224
- old_elements = @previous_elements
225
- @previous_elements = @scrollable.first_and_last_leaf
226
- old_elements == @previous_elements
224
+ if @driver.device == :android
225
+ # $__ctx.puts "end_of_scroll?"
226
+ # $__ctx.puts "old: #{@previous_elements}"
227
+ # $__ctx.puts "device: #{@driver.device}"
228
+
229
+ old_elements = @previous_elements
230
+ @previous_elements = @scrollable.first_and_last_leaf
231
+ # $__ctx.puts "new: #{@previous_elements}"
232
+
233
+ old_elements == @previous_elements
234
+ else
235
+ # for is, check location of first and last elements
236
+ old_elements = @previous_elements
237
+ @previous_elements = @scrollable.first_and_last_child&.map(&:location)
238
+ old_elements == @previous_elements
239
+ end
227
240
  end
228
241
 
229
242
  def default_deadzone!
@@ -10,7 +10,7 @@ require_relative 'common/locator'
10
10
  require_relative 'common/scroll_actions'
11
11
  require_relative 'common/selenium_element'
12
12
 
13
- module TestaAppiumDriver
13
+ module ::TestaAppiumDriver
14
14
  class Driver
15
15
  include Helpers
16
16
 
@@ -300,6 +300,13 @@ module TestaAppiumDriver
300
300
  [elements[0], elements[-1]]
301
301
  end
302
302
 
303
+ def first_and_last_child(from_element = @driver)
304
+ elements = from_element.find_elements(xpath: "./*")
305
+ return nil if elements.count == 0
306
+
307
+ [elements[0], elements[-1]]
308
+ end
309
+
303
310
  private
304
311
  def extend_for(device, automation_name)
305
312
  case device
@@ -2,6 +2,7 @@ module ::Appium
2
2
  module Core
3
3
  class Element
4
4
  include TestaAppiumDriver::TypeSelectors
5
+ include TestaAppiumDriver::Attributes
5
6
  end
6
7
  end
7
8
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestaAppiumDriver
4
- VERSION = "0.1.14"
4
+ VERSION = "0.1.15"
5
5
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "appium_lib_core", ["= 5.1.0"]
33
+ spec.add_runtime_dependency "appium_lib_core", ["~> 5.2.0"]
34
34
  spec.add_runtime_dependency "json", ["~> 2.3"]
35
35
 
36
36
  spec.add_development_dependency "rubocop", ["= 1.19.0"]
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testa_appium_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - karlo.razumovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-23 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 5.1.0
19
+ version: 5.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 5.1.0
26
+ version: 5.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -86,7 +86,6 @@ files:
86
86
  - LICENSE.txt
87
87
  - README.md
88
88
  - Rakefile
89
- - appium-driver.iml
90
89
  - bin/console
91
90
  - bin/setup
92
91
  - lib/testa_appium_driver.rb
data/appium-driver.iml DELETED
@@ -1,72 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$">
6
- <sourceFolder url="file://$MODULE_DIR$/lib" isTestSource="false" />
7
- <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
8
- </content>
9
- <orderEntry type="jdk" jdkName="RVM: ruby-2.7.6" jdkType="RUBY_SDK" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- <orderEntry type="library" scope="PROVIDED" name="appium_lib_core (v5.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
12
- <orderEntry type="library" scope="PROVIDED" name="ast (v2.4.2, RVM: ruby-2.7.6) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="childprocess (v4.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
14
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.5.0, RVM: ruby-2.7.6) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-2.7.6) [gem]" level="application" />
16
- <orderEntry type="library" scope="PROVIDED" name="faye-websocket (v0.11.1, RVM: ruby-2.7.6) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="json (v2.6.2, RVM: ruby-2.7.6) [gem]" level="application" />
18
- <orderEntry type="library" scope="PROVIDED" name="parallel (v1.22.1, RVM: ruby-2.7.6) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="parser (v3.1.2.0, RVM: ruby-2.7.6) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="rainbow (v3.1.1, RVM: ruby-2.7.6) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-2.7.6) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.4.0, RVM: ruby-2.7.6) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.6) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.11.1, RVM: ruby-2.7.6) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="rubocop (v1.26.0, RVM: ruby-2.7.6) [gem]" level="application" />
30
- <orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v1.18.0, RVM: ruby-2.7.6) [gem]" level="application" />
31
- <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
32
- <orderEntry type="library" scope="PROVIDED" name="rubyzip (v2.3.2, RVM: ruby-2.7.6) [gem]" level="application" />
33
- <orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v4.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
34
- <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
35
- <orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.7.5, RVM: ruby-2.7.6) [gem]" level="application" />
36
- <orderEntry type="library" scope="PROVIDED" name="websocket-extensions (v0.1.5, RVM: ruby-2.7.6) [gem]" level="application" />
37
- </component>
38
- <component name="RakeTasksCache">
39
- <option name="myRootTask">
40
- <RakeTaskImpl id="rake">
41
- <subtasks>
42
- <RakeTaskImpl description="Build testa_appium_driver-0.1.131.gem into the pkg directory" fullCommand="build" id="build" />
43
- <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
44
- <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
45
- <RakeTaskImpl description="Build and install testa_appium_driver-0.1.131.gem into system gems" fullCommand="install" id="install" />
46
- <RakeTaskImpl id="install">
47
- <subtasks>
48
- <RakeTaskImpl description="Build and install testa_appium_driver-0.1.131.gem into system gems without network access" fullCommand="install:local" id="local" />
49
- </subtasks>
50
- </RakeTaskImpl>
51
- <RakeTaskImpl description="Create tag v0.1.131 and build and push testa_appium_driver-0.1.131.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
52
- <RakeTaskImpl description="Run RuboCop" fullCommand="rubocop" id="rubocop" />
53
- <RakeTaskImpl id="rubocop">
54
- <subtasks>
55
- <RakeTaskImpl description="Auto-correct RuboCop offenses" fullCommand="rubocop:auto_correct" id="auto_correct" />
56
- </subtasks>
57
- </RakeTaskImpl>
58
- <RakeTaskImpl description="Run RSpec code examples" fullCommand="spec" id="spec" />
59
- <RakeTaskImpl description="" fullCommand="default" id="default" />
60
- <RakeTaskImpl description="" fullCommand="release" id="release" />
61
- <RakeTaskImpl id="release">
62
- <subtasks>
63
- <RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
64
- <RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
65
- <RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
66
- </subtasks>
67
- </RakeTaskImpl>
68
- </subtasks>
69
- </RakeTaskImpl>
70
- </option>
71
- </component>
72
- </module>