appom 1.2.1 → 1.3.2

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: e601fd52165d14faf9034b72ff67ffa96debfc5cbdf4613b7c316ed8141fbf2d
4
- data.tar.gz: 6d66f8805aa55fc163f93bc08194711fa6e7858c7835eda3eeeff39fe02d9761
3
+ metadata.gz: b1030494ef95f2af0c9678aa7c220bff5d2f0f310cb639ec3dc136c23f41a2f4
4
+ data.tar.gz: c3df4e124bb187d84dac2d85fb007eb1ace54d91e9506dbe6dd4d9912c4724e8
5
5
  SHA512:
6
- metadata.gz: 5df8393fe36883906a7f60980f8eff1faf89d9013708d91bed32b2fba1da19a3566e6c8c316ead100eca40b850e9c8890049c7ecb05d5228d4861094fd5a97bd
7
- data.tar.gz: 66247fd2603d1250c168f0c8eeb634cd40d0e7178f6e37a825ec06a965ed07bcbd68b5eeb9f35ba3ee72eff4a7a8e14de7a21b6916db9e378b7f64290b4fa66b
6
+ metadata.gz: 02e04c8efb1b8fa47bd74e678608cc90ca3f3c0127f34ddd4a271d9b2818e0f2ef8a944c619cbef2c33cab9d2c897d443fb4922bd3f33f8d7ab57995dec09e32
7
+ data.tar.gz: 713fe96ad8cd58e15c3b13d37c3e872024b72685a02fac54d61065d3fc82bf9f22e61a610046388d9dd6e526d2a4e005ba75ff4d66908805ec4ac3317abdf61d
@@ -8,11 +8,6 @@ module Appom
8
8
  wait.until do
9
9
  elements = page.find_elements(*args)
10
10
  elements.each do |element|
11
- # No need to check. Just return first element
12
- if visible.nil? && text.nil?
13
- return element
14
- end
15
-
16
11
  if !visible.nil? && !text.nil?
17
12
  if element.displayed? && element.text == text
18
13
  return element
@@ -25,22 +20,67 @@ module Appom
25
20
  if element.text == text
26
21
  return element
27
22
  end
23
+ # Just return first element
24
+ else
25
+ return element
28
26
  end
29
27
  end
30
- raise Appom::ElementsEmptyError, "Not found element with text #{text}"
28
+ raise Appom::ElementsEmptyError, "Can not found element with args = #{find_args}"
31
29
  end
32
30
  end
33
31
 
34
32
  # Find elements
35
33
  def _all(*find_args)
36
- page.find_elements(*find_args)
34
+ args, text, visible = deduce_element_args(find_args)
35
+ elements = page.find_elements(*args)
36
+ els = []
37
+
38
+ elements.each do |element|
39
+ if !visible.nil? && !text.nil?
40
+ if element.displayed? && element.text == text
41
+ els.push(element)
42
+ end
43
+ elsif !visible.nil?
44
+ if element.displayed?
45
+ els.push(element)
46
+ end
47
+ elsif !text.nil?
48
+ if element.text == text
49
+ els.push(element)
50
+ end
51
+ else
52
+ els.push(element)
53
+ end
54
+ end
55
+ return els
37
56
  end
38
57
 
39
58
  # Check page has or has not element with find_args
40
59
  # If page has element return TRUE else return FALSE
41
60
  def _check_has_element(*find_args)
42
- elements = page.find_elements(*find_args)
43
- return elements.empty? ? false : true
61
+ elements = page.find_elements(*args)
62
+
63
+ if visible.nil? && text.nil?
64
+ return elements.empty? ? false : true
65
+ else
66
+ is_found = false
67
+ elements.each do |element|
68
+ if !visible.nil? && !text.nil?
69
+ if element.displayed? && element.text == text
70
+ is_found = true
71
+ end
72
+ elsif !visible.nil?
73
+ if element.displayed?
74
+ is_found = true
75
+ end
76
+ elsif !text.nil?
77
+ if element.text == text
78
+ is_found = true
79
+ end
80
+ end
81
+ end
82
+ return is_found
83
+ end
44
84
  end
45
85
 
46
86
  ##
@@ -53,7 +93,7 @@ module Appom
53
93
  result = page.find_elements(*find_args)
54
94
  # If reponse is empty we will return false to make it not pass Wait condition
55
95
  if result.empty?
56
- raise Appom::ElementsEmptyError, "Array is empty"
96
+ raise Appom::ElementsEmptyError, "Can not found any elements with args = #{find_args}"
57
97
  end
58
98
  # Return result
59
99
  return result
@@ -74,12 +114,10 @@ module Appom
74
114
  !_find(*find_args).enabled?
75
115
  # Function only return true if we can find at leat one element (array is not empty) or raise error
76
116
  when 'at least one element exists'
77
- args, text, visible = deduce_element_args(find_args)
78
- !page.find_elements(*args).empty?
117
+ !_all(*find_args).empty?
79
118
  # Function only return true if we can't find at leat one element (array is empty) or raise error
80
119
  when 'no element exists'
81
- args, text, visible = deduce_element_args(find_args)
82
- page.find_elements(*args).empty?
120
+ _all(*find_args).empty?
83
121
  end
84
122
  end
85
123
  end
data/lib/appom/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Appom
2
- VERSION = '1.2.1'.freeze
2
+ VERSION = '1.3.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appom
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry.Tran
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-11 00:00:00.000000000 Z
11
+ date: 2021-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib
@@ -74,7 +74,7 @@ homepage: https://github.com/hoangtaiki/appom
74
74
  licenses:
75
75
  - MIT
76
76
  metadata: {}
77
- post_install_message:
77
+ post_install_message:
78
78
  rdoc_options: []
79
79
  require_paths:
80
80
  - lib
@@ -89,9 +89,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  requirements: []
92
- rubyforge_project:
93
- rubygems_version: 2.7.9
94
- signing_key:
92
+ rubygems_version: 3.2.19
93
+ signing_key:
95
94
  specification_version: 4
96
95
  summary: A Page Object Model for Appium
97
96
  test_files: []