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 +4 -4
- data/README.md +9 -9
- data/lib/appium_failure_helper/report_generator.rb +6 -2
- data/lib/appium_failure_helper/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51a04db2050508826da2df00704d3c09dd27396b16cbdb6daa465a01069ddb1c
|
4
|
+
data.tar.gz: b6c523d78d7f0694b17b8e7aec538a972ff7b9885de05a4ccee057a76613c806
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
##
|
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
|
-
##
|
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
|
-
##
|
41
|
+
## Uso e Configuração
|
42
42
|
|
43
|
-
###
|
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
|
-
###
|
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
|
-
###
|
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
|
-
##
|
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
|
-
##
|
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
|
-
##
|
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 =
|
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"
|
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>
|
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.
|
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-
|
11
|
+
date: 2025-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|