appium_failure_helper 1.10.0 → 1.10.1

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: e08435a47e2a5b5382abe20a9e6a7d6eb51e72c12cd22f9fb3a7ad3bf3cbbaa1
4
- data.tar.gz: '086f706107584495fd9dafdafc762223126c7e6e677fbe86e9f6cf10809b9fb7'
3
+ metadata.gz: 51a04db2050508826da2df00704d3c09dd27396b16cbdb6daa465a01069ddb1c
4
+ data.tar.gz: b6c523d78d7f0694b17b8e7aec538a972ff7b9885de05a4ccee057a76613c806
5
5
  SHA512:
6
- metadata.gz: 486211c6d651c1ce903e8a3faa3b99ad368a8ee7dfb33bf9eb0f7c12a1504cd389a4ea2bbde636a3df76f967a8439e007afb01e576b4b0e7c1be7bd1232f6093
7
- data.tar.gz: '09f7261766cb390321f040475cea639f431b0bf39ee8b387f5df742773097ef92853e5f1b891a7422eb0265e672f2d7c0d16c064ccfa26efca7a2706d08dac7d'
6
+ metadata.gz: a42471ed673f57d2c60a3c6b74d333eaf8e319db233505c4c75972c5d8d199b74f9d8fd5cdd657db016ebc5c9f5e6c1e6ddf0cf305b13f79758637b5b5bc8662
7
+ data.tar.gz: ca095c221019f692059ee9c5e014a0639e7a286e421ad049b6f5763a5830a7a89893bb746927cd44763b19f1a856289237efff1777780cc08228a82770c5adce
data/README.md CHANGED
@@ -9,7 +9,7 @@ Uma GEM de diagnóstico para testes Appium em Ruby, projetada para transformar f
9
9
 
10
10
  ---
11
11
 
12
- ## Principais Funcionalidades
12
+ ## Principais Funcionalidades
13
13
 
14
14
  - **Diagnóstico Inteligente de Falhas:** Identifica automaticamente o tipo de erro (`NoSuchElementError`, `TimeoutError`, falha de asserção ou erro de código Ruby) e gera relatórios personalizados para cada caso.
15
15
  - **Análise de Código-Fonte:** Para erros "silenciosos", inspeciona o `stack trace` e extrai o seletor diretamente do código, apontando arquivo e linha exatos.
@@ -22,7 +22,7 @@ Uma GEM de diagnóstico para testes Appium em Ruby, projetada para transformar f
22
22
 
23
23
  ---
24
24
 
25
- ## 🚀 Instalação
25
+ ## Instalação
26
26
 
27
27
  Adicione ao `Gemfile` do seu projeto de automação:
28
28
 
@@ -38,9 +38,9 @@ bundle install
38
38
 
39
39
  ---
40
40
 
41
- ## 🛠️ Uso e Configuração
41
+ ## Uso e Configuração
42
42
 
43
- ### 1️⃣ Configuração Inicial (Opcional)
43
+ ### Configuração Inicial (Opcional)
44
44
 
45
45
  No arquivo de inicialização (`features/support/env.rb`), configure os caminhos de elementos se necessário:
46
46
 
@@ -55,7 +55,7 @@ end
55
55
 
56
56
  ---
57
57
 
58
- ### 2️⃣ Enriquecer Exceções (Altamente Recomendado)
58
+ ### Enriquecer Exceções (Altamente Recomendado)
59
59
 
60
60
  Para extrair o máximo de informações de falhas, ajuste seus métodos de busca de elementos:
61
61
 
@@ -90,7 +90,7 @@ end
90
90
 
91
91
  ---
92
92
 
93
- ### 3️⃣ Integração com Cucumber
93
+ ### Integração com Cucumber
94
94
 
95
95
  No `hooks.rb`, acione a GEM após cada cenário com falha:
96
96
 
@@ -104,7 +104,7 @@ end
104
104
 
105
105
  ---
106
106
 
107
- ## 📄 Relatório Gerado
107
+ ## Relatório Gerado
108
108
 
109
109
  A cada falha, a GEM cria uma pasta em `reports_failure/` com:
110
110
 
@@ -117,7 +117,7 @@ A cada falha, a GEM cria uma pasta em `reports_failure/` com:
117
117
 
118
118
  ---
119
119
 
120
- ## 🏛️ Arquitetura
120
+ ## Arquitetura
121
121
 
122
122
  - **Handler:** Captura falhas e aciona o fluxo de análise.
123
123
  - **SourceCodeAnalyzer:** Extrai seletores diretamente do código-fonte.
@@ -127,7 +127,7 @@ A cada falha, a GEM cria uma pasta em `reports_failure/` com:
127
127
 
128
128
  ---
129
129
 
130
- ## 🔄 Fluxo Interno da GEM
130
+ ## Fluxo Interno da GEM
131
131
 
132
132
  ```
133
133
  Falha Appium
@@ -92,7 +92,11 @@ module AppiumFailureHelper
92
92
 
93
93
  suggestion_text = "O `resource-id` pode ter mudado ou o `text` está diferente. Considere usar um seletor mais robusto baseado nos atributos que corresponderam."
94
94
  if (best_candidate[:analysis][:id] || {})[:match] == true && (best_candidate[:analysis][:text] || {})[:similarity].to_f < 0.7
95
- suggestion_text = "O `resource-id` corresponde, mas o texto é diferente. **Recomendamos fortemente usar o `resource-id` para este seletor.**"
95
+ suggestion_text = "Prefira usar atributos estáveis, como resource-id ou content-desc.",
96
+ "Evite caminhos absolutos (//hierarchy/...); prefira XPaths curtos e relativos.",
97
+ "Use normalize-space() para lidar com espaços e maiúsculas/minúsculas.",
98
+ "Combine atributos, ex: //*[@resource-id='id' and @text='Texto'].",
99
+ "Evite localizar por texto dinâmico, prefira IDs únicos."
96
100
  end
97
101
 
98
102
  <<~HTML
@@ -298,7 +302,7 @@ module AppiumFailureHelper
298
302
  </div>
299
303
  <div class="md:col-span-2 space-y-6">
300
304
  <div class="bg-white p-6 rounded-lg shadow-md">
301
- <h2 class="text-xl font-bold text-red-600 mb-4">Diagnóstico: #{title}</h2>
305
+ <h2 class="text-xl font-bold text-red-600 mb-4">#{title}</h2>
302
306
  <div class="bg-red-50 border-l-4 border-red-500 text-red-800 p-4 rounded-r-lg">
303
307
  <p class="font-semibold">Causa Provável:</p>
304
308
  <p>#{message}</p>
@@ -1,3 +1,3 @@
1
1
  module AppiumFailureHelper
2
- VERSION = "1.10.0"
2
+ VERSION = "1.10.1"
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.10.0
4
+ version: 1.10.1
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-06 00:00:00.000000000 Z
11
+ date: 2025-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri