testa_appium_driver 0.1.14 → 0.1.15

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
  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>