appium_failure_helper 1.1.2 → 1.1.3
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/lib/appium_failure_helper/report_generator.rb +40 -39
- data/lib/appium_failure_helper/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3436268826107494e9e5ae0049106b4ae0d7a9d01609b0ea68e1d0e0474a07bb
|
4
|
+
data.tar.gz: cc600a9229697214f2e88a3b6c4ece1d7fa90b09ee1e525a32892679231451e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff3fd06ae96eb6ddec8170791c2c1cdb88c5266a5dd773c47ae155d7a981776b4a2f78fd82f826409822bec789b8b0047fd2060e3767ae87df1a440f52bd140f
|
7
|
+
data.tar.gz: a837e539fcf0f9dbbb854e80567ec5680a73914e3adeddb7a2f5dde23d853d0de06092b9c4244db038ae0e0cf495a3654b36a12e4a167ea332fc99fcefd21cd8
|
@@ -44,45 +44,46 @@ module AppiumFailureHelper
|
|
44
44
|
message: "A GEM identificou um erro de 'elemento não encontrado', mas não conseguiu extrair o seletor da mensagem de erro ou do código-fonte. Isso pode ocorrer com métodos de busca customizados ou seletores dinâmicos. Verifique o stack trace para encontrar a linha exata do erro e o método responsável."
|
45
45
|
)
|
46
46
|
else
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
47
|
+
html_content = case @data[:triage_result]
|
48
|
+
when :locator_issue
|
49
|
+
build_full_report
|
50
|
+
when :unidentified_locator_issue, :unidentified_timeout_issue
|
51
|
+
build_simple_diagnosis_report(
|
52
|
+
title: "Seletor Não Identificado",
|
53
|
+
message: "A falha ocorreu porque um elemento não foi encontrado, mas a GEM não conseguiu extrair o seletor exato da mensagem de erro ou do código-fonte. Isso geralmente acontece quando o seletor é construído dinamicamente ou está dentro de um método helper complexo. Verifique o stack trace para encontrar o método responsável (ex: 'tap_by_text')."
|
54
|
+
)
|
55
|
+
when :assertion_failure
|
56
|
+
build_simple_diagnosis_report(
|
57
|
+
title: "Falha de Asserção (Bug Funcional)",
|
58
|
+
message: "A automação executou os passos corretamente, mas o resultado final verificado na tela não foi o esperado. Isso geralmente indica um bug funcional na aplicação, e não um problema com o seletor."
|
59
|
+
)
|
60
|
+
when :visibility_issue
|
61
|
+
build_simple_diagnosis_report(
|
62
|
+
title: "Elemento Oculto ou Não-Interagível",
|
63
|
+
message: "O seletor encontrou o elemento no XML da página, mas ele não está visível ou habilitado para interação. Verifique se há outros elementos sobrepondo-o, se ele está desabilitado (disabled/enabled='false'), ou se é necessário aguardar uma animação."
|
64
|
+
)
|
65
|
+
when :stale_element_issue
|
66
|
+
build_simple_diagnosis_report(
|
67
|
+
title: "Referência de Elemento Antiga (Stale)",
|
68
|
+
message: "O elemento foi encontrado, mas a página foi atualizada antes que a interação pudesse ocorrer. Isso é um problema de timing. A solução é encontrar o elemento novamente logo antes de interagir com ele."
|
69
|
+
)
|
70
|
+
when :session_startup_issue
|
71
|
+
build_simple_diagnosis_report(
|
72
|
+
title: "Falha na Conexão com o Servidor Appium",
|
73
|
+
message: "Não foi possível criar uma sessão com o servidor. Verifique se o servidor Appium está rodando, se as 'capabilities' (incluindo prefixos 'appium:') e a URL de conexão estão corretas."
|
74
|
+
)
|
75
|
+
when :app_crash_issue
|
76
|
+
build_simple_diagnosis_report(
|
77
|
+
title: "Crash do Aplicativo",
|
78
|
+
message: "A sessão foi encerrada inesperadamente, o que indica que o aplicativo travou. A causa raiz deve ser investigada nos logs do dispositivo (Logcat para Android, Console para iOS)."
|
79
|
+
)
|
80
|
+
else # :ruby_code_issue, :unknown_issue
|
81
|
+
build_simple_diagnosis_report(
|
82
|
+
title: "Erro Inesperado",
|
83
|
+
message: "Ocorreu um erro não catalogado. Verifique o stack trace para mais detalhes."
|
84
|
+
)
|
85
|
+
end
|
86
|
+
end
|
86
87
|
|
87
88
|
File.write("#{@output_folder}/report_#{@data[:timestamp]}.html", html_content)
|
88
89
|
end
|