testa_appium_driver 0.1.0 → 0.1.4

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.
@@ -7,6 +7,7 @@ module TestaAppiumDriver
7
7
  include TypeSelectors
8
8
 
9
9
 
10
+ private
10
11
  def handle_testa_opts
11
12
  if @testa_opts[:default_find_strategy].nil?
12
13
  @default_find_strategy = DEFAULT_IOS_FIND_STRATEGY
@@ -1,7 +1,5 @@
1
1
  module TestaAppiumDriver
2
- #noinspection RubyYardReturnMatch
3
- class Locator
4
-
2
+ module Attributes
5
3
 
6
4
  #noinspection RubyNilAnalysis
7
5
  def attribute(name, *args)
@@ -76,4 +74,8 @@ module TestaAppiumDriver
76
74
  alias_method :bounds, :rect
77
75
  alias_method :text, :label
78
76
  end
77
+ #noinspection RubyYardReturnMatch
78
+ class Locator
79
+ include TestaAppiumDriver::Attributes
80
+ end
79
81
  end
@@ -1,13 +1,21 @@
1
1
  require_relative 'locator/attributes'
2
2
 
3
3
  module TestaAppiumDriver
4
- #noinspection RubyTooManyInstanceVariablesInspection
5
4
  class Locator
6
5
  include TypeSelectors
7
6
 
8
7
  def init(params, selectors, single)
9
8
  if is_scrollable_selector?(selectors, single)
10
9
  @scroll_orientation = :vertical
10
+
11
+ if !params[:top].nil? || !params[:bottom].nil? || !params[:right].nil? || !params[:left].nil?
12
+ @scroll_deadzone = {}
13
+ @scroll_deadzone[:top] = params[:top].to_f unless params[:top].nil?
14
+ @scroll_deadzone[:bottom] = params[:bottom].to_f unless params[:bottom].nil?
15
+ @scroll_deadzone[:right] = params[:right].to_f unless params[:right].nil?
16
+ @scroll_deadzone[:left] = params[:left].to_f unless params[:left].nil?
17
+ end
18
+
11
19
  params[:scrollable_locator] = self.dup
12
20
  end
13
21
 
@@ -15,12 +23,17 @@ module TestaAppiumDriver
15
23
  end
16
24
 
17
25
 
18
- def selector
19
- @xpath_selector
26
+ # @return [Array] returns 2 elements. The first is the resolved find element strategy and the second is the resolved selector
27
+ def strategy_and_selector
28
+ if @can_use_id_strategy
29
+ return FIND_STRATEGY_NAME, @can_use_id_strategy
30
+ end
31
+ [FIND_STRATEGY_XPATH, @xpath_selector]
20
32
  end
21
33
 
22
34
 
23
- # @return [Locator] existing locator element
35
+
36
+ # @return [Locator] new child locator element
24
37
  def add_child_selector(params)
25
38
  params, selectors = extract_selectors_from_params(params)
26
39
  single = params[:single]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestaAppiumDriver
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -1,40 +1,41 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/testa_appium_driver/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "testa_appium_driver"
7
- spec.version = TestaAppiumDriver::VERSION
8
- spec.authors = ["karlo.razumovic"]
9
- spec.email = ["karlo.razumovic@gmail.com"]
10
-
11
- spec.summary = "Appium made easy"
12
- spec.description = "Testa appium driver is a wrapper around ruby_lib_core. It significantly reduces the amount of code need to achieve your goals."
13
- spec.homepage = "https://github.com/Karazum/testa_appium_driver"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.4.0"
16
-
17
- #spec.metadata["allowed_push_host"] = "Set to 'https://mygemserver.com'"
18
-
19
- spec.metadata["homepage_uri"] = spec.homepage
20
- spec.metadata["source_code_uri"] = "https://github.com/Karazum/testa_appium_driver"
21
- spec.metadata["changelog_uri"] = "https://github.com/Karazum/testa_appium_driver"
22
-
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
27
- end
28
- spec.bindir = "exe"
29
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
- spec.require_paths = ["lib"]
31
-
32
- spec.add_runtime_dependency "appium_lib_core", ["= 4.7.0"]
33
- spec.add_runtime_dependency "json", ["= 2.1.0"]
34
-
35
- spec.add_development_dependency "rubocop", ["= 1.19.0"]
36
- spec.add_development_dependency "rake", ["~> 13.0"]
37
-
38
- # For more information and examples about making a new gem, checkout our
39
- # guide at: https://bundler.io/guides/creating_gem.html
40
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/testa_appium_driver/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "testa_appium_driver"
7
+ spec.version = TestaAppiumDriver::VERSION
8
+ spec.authors = ["karlo.razumovic"]
9
+ spec.email = ["karlo.razumovic@gmail.com"]
10
+
11
+ spec.summary = "Appium made easy"
12
+ spec.description = "Testa appium driver is a wrapper around ruby_lib_core. It leverages all driver features and makes them simple and easy to use, significantly reduces the amount of code needed and enables you to define locators that can be reused"
13
+ spec.homepage = "https://github.com/Karazum/testa_appium_driver"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 2.4.0"
16
+
17
+ #spec.metadata["allowed_push_host"] = "Set to 'https://mygemserver.com'"
18
+
19
+ spec.metadata["documentation_uri"] = "https://www.rubydoc.info/gems/testa_appium_driver"
20
+ spec.metadata["homepage_uri"] = spec.homepage
21
+ spec.metadata["source_code_uri"] = "https://github.com/Karazum/testa_appium_driver"
22
+ spec.metadata["changelog_uri"] = "https://github.com/Karazum/testa_appium_driver"
23
+
24
+ # Specify which files should be added to the gem when it is released.
25
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
26
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
27
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
28
+ end
29
+ spec.bindir = "exe"
30
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
+ spec.require_paths = ["lib"]
32
+
33
+ spec.add_runtime_dependency "appium_lib_core", ["= 4.7.0"]
34
+ spec.add_runtime_dependency "json", ["~> 2.3"]
35
+
36
+ spec.add_development_dependency "rubocop", ["= 1.19.0"]
37
+ spec.add_development_dependency "rake", ["~> 13.0"]
38
+
39
+ # For more information and examples about making a new gem, checkout our
40
+ # guide at: https://bundler.io/guides/creating_gem.html
41
+ end
@@ -39,41 +39,7 @@
39
39
  </component>
40
40
  <component name="RakeTasksCache">
41
41
  <option name="myRootTask">
42
- <RakeTaskImpl id="rake">
43
- <subtasks>
44
- <RakeTaskImpl description="Build testa_appium_driver-0.1.0.gem into the pkg directory" fullCommand="build" id="build" />
45
- <RakeTaskImpl id="build">
46
- <subtasks>
47
- <RakeTaskImpl description="Generate SHA512 checksum if testa_appium_driver-0.1.0.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
48
- </subtasks>
49
- </RakeTaskImpl>
50
- <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
51
- <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
52
- <RakeTaskImpl description="Build and install testa_appium_driver-0.1.0.gem into system gems" fullCommand="install" id="install" />
53
- <RakeTaskImpl id="install">
54
- <subtasks>
55
- <RakeTaskImpl description="Build and install testa_appium_driver-0.1.0.gem into system gems without network access" fullCommand="install:local" id="local" />
56
- </subtasks>
57
- </RakeTaskImpl>
58
- <RakeTaskImpl description="Create tag v0.1.0 and build and push testa_appium_driver-0.1.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
59
- <RakeTaskImpl description="Run RuboCop" fullCommand="rubocop" id="rubocop" />
60
- <RakeTaskImpl id="rubocop">
61
- <subtasks>
62
- <RakeTaskImpl description="Auto-correct RuboCop offenses" fullCommand="rubocop:auto_correct" id="auto_correct" />
63
- </subtasks>
64
- </RakeTaskImpl>
65
- <RakeTaskImpl description="Run RSpec code examples" fullCommand="spec" id="spec" />
66
- <RakeTaskImpl description="" fullCommand="default" id="default" />
67
- <RakeTaskImpl description="" fullCommand="release" id="release" />
68
- <RakeTaskImpl id="release">
69
- <subtasks>
70
- <RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
71
- <RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
72
- <RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
73
- </subtasks>
74
- </RakeTaskImpl>
75
- </subtasks>
76
- </RakeTaskImpl>
42
+ <RakeTaskImpl id="rake" />
77
43
  </option>
78
44
  </component>
79
45
  </module>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testa_appium_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - karlo.razumovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-19 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib_core
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.1.0
33
+ version: '2.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.1.0
40
+ version: '2.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,8 +66,9 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '13.0'
69
- description: Testa appium driver is a wrapper around ruby_lib_core. It significantly
70
- reduces the amount of code need to achieve your goals.
69
+ description: Testa appium driver is a wrapper around ruby_lib_core. It leverages all
70
+ driver features and makes them simple and easy to use, significantly reduces the
71
+ amount of code needed and enables you to define locators that can be reused
71
72
  email:
72
73
  - karlo.razumovic@gmail.com
73
74
  executables: []
@@ -109,6 +110,7 @@ files:
109
110
  - lib/testa_appium_driver/common/scroll_actions.rb
110
111
  - lib/testa_appium_driver/common/scroll_actions/json_wire_scroll_actions.rb
111
112
  - lib/testa_appium_driver/common/scroll_actions/w3c_scroll_actions.rb
113
+ - lib/testa_appium_driver/common/selenium_element.rb
112
114
  - lib/testa_appium_driver/driver.rb
113
115
  - lib/testa_appium_driver/ios/driver.rb
114
116
  - lib/testa_appium_driver/ios/locator.rb
@@ -122,6 +124,7 @@ homepage: https://github.com/Karazum/testa_appium_driver
122
124
  licenses:
123
125
  - MIT
124
126
  metadata:
127
+ documentation_uri: https://www.rubydoc.info/gems/testa_appium_driver
125
128
  homepage_uri: https://github.com/Karazum/testa_appium_driver
126
129
  source_code_uri: https://github.com/Karazum/testa_appium_driver
127
130
  changelog_uri: https://github.com/Karazum/testa_appium_driver