appium_failure_helper 1.6.0 → 1.7.0

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: a0917102997fb6cabc11815b5cf139122a5463270aacd81f297c9962ae8d87b9
4
- data.tar.gz: de8b9e66f04ca40ae2a997ada9d1b0e9c6fb02a1126eaed3041b238e30c02389
3
+ metadata.gz: 98b490f90ffbc00dd772d504e4ffcf1ef2ee25d25004a74458ca9e6ada556b1f
4
+ data.tar.gz: 7fe8c205a04b7944977651441408b5f4ae92e37b0c8acbb5d45a8de36315fcf5
5
5
  SHA512:
6
- metadata.gz: b4eb98152f746822fef5d6f4dfa81ede39baf86fe3c7f51610b1499df537c036fbb277a823ac14a3e3b011219c4250b46b8ba2e4df4cc0ff5021c4d07a6a7e50
7
- data.tar.gz: b4699b9b3a7071498b4b0622dc7b3dc37e354913fb4bc76b525f639af1c0681b508109d9963f0540cb54cfaeea3ef6c8073444b663241ccc68766fdce8dea011
6
+ metadata.gz: 7a8d1778dab86262461041523686d000a3df6d30d51f6aa222c50a1b9037c782f5aa5622af57b030127c6d9c9d9b6fd241d21cf25a084da3af6ad4894c1e02bd
7
+ data.tar.gz: 1ed02d956de5335cb5f8cdefa065314013c90a96b4afc50f65656dce7569dd54967024c8a78fcf9bf403a5a9fa1a45c8c73c5e83ddcf5cdf63a99b5181b55228
@@ -67,7 +67,7 @@ module AppiumFailureHelper
67
67
  # Compara Content Description (pontuação alta para Android)
68
68
  if expected_attrs['content-desc'] && screen_attrs['content-desc']
69
69
  similarity = calculate_similarity(expected_attrs['content-desc'], screen_attrs['content-desc'])
70
- score += 80 * similarity
70
+ score += 50 * similarity
71
71
  analysis[:'content-desc'] = { similarity: similarity, expected: expected_attrs['content-desc'], actual: screen_attrs['content-desc'] }
72
72
  end
73
73
 
@@ -85,6 +85,12 @@ module AppiumFailureHelper
85
85
  end
86
86
 
87
87
  private
88
+ def self.calculate_similarity(expected, actual)
89
+ return 0 if expected.nil? || actual.nil?
90
+ distance = DidYouMean::Levenshtein.distance(expected.to_s, actual.to_s)
91
+ max_len = [expected.to_s.length, actual.to_s.length].max
92
+ max_len.zero? ? 1.0 : 1.0 - (distance.to_f / max_len)
93
+ end
88
94
 
89
95
  def self.parse_locator(type, value, platform)
90
96
  attrs = {}
@@ -1,3 +1,3 @@
1
1
  module AppiumFailureHelper
2
- VERSION = "1.6.0"
2
+ VERSION = "1.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_failure_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Nascimento
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-10-05 00:00:00.000000000 Z
11
+ date: 2025-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri