@mseep/ai-tech-app-agent 1.0.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.
Files changed (67) hide show
  1. package/.env +24 -0
  2. package/.env.example +24 -0
  3. package/Jenkinsfile +210 -0
  4. package/MCP-SERVER-GUIDE.md +405 -0
  5. package/README.MD +450 -0
  6. package/dist/config/app.config.d.ts +65 -0
  7. package/dist/config/app.config.d.ts.map +1 -0
  8. package/dist/config/app.config.js +94 -0
  9. package/dist/config/app.config.js.map +1 -0
  10. package/dist/config/llm.config.d.ts +63 -0
  11. package/dist/config/llm.config.d.ts.map +1 -0
  12. package/dist/config/llm.config.js +158 -0
  13. package/dist/config/llm.config.js.map +1 -0
  14. package/dist/config/mcp.config.d.ts +175 -0
  15. package/dist/config/mcp.config.d.ts.map +1 -0
  16. package/dist/config/mcp.config.js +215 -0
  17. package/dist/config/mcp.config.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +175 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/llm/llamaClient.d.ts +14 -0
  23. package/dist/llm/llamaClient.d.ts.map +1 -0
  24. package/dist/llm/llamaClient.js +136 -0
  25. package/dist/llm/llamaClient.js.map +1 -0
  26. package/dist/mcp/mcpClient.d.ts +132 -0
  27. package/dist/mcp/mcpClient.d.ts.map +1 -0
  28. package/dist/mcp/mcpClient.js +784 -0
  29. package/dist/mcp/mcpClient.js.map +1 -0
  30. package/dist/models/testSpec.d.ts +78 -0
  31. package/dist/models/testSpec.d.ts.map +1 -0
  32. package/dist/models/testSpec.js +3 -0
  33. package/dist/models/testSpec.js.map +1 -0
  34. package/dist/orchestrator/aiTestRunner.d.ts +18 -0
  35. package/dist/orchestrator/aiTestRunner.d.ts.map +1 -0
  36. package/dist/orchestrator/aiTestRunner.js +247 -0
  37. package/dist/orchestrator/aiTestRunner.js.map +1 -0
  38. package/dist/utils/logger.d.ts +4 -0
  39. package/dist/utils/logger.d.ts.map +1 -0
  40. package/dist/utils/logger.js +49 -0
  41. package/dist/utils/logger.js.map +1 -0
  42. package/dist/utils/promptBuilder.d.ts +62 -0
  43. package/dist/utils/promptBuilder.d.ts.map +1 -0
  44. package/dist/utils/promptBuilder.js +333 -0
  45. package/dist/utils/promptBuilder.js.map +1 -0
  46. package/knowledge/app-knowledge.txt +100 -0
  47. package/logs/combined.log +486 -0
  48. package/logs/error.log +50 -0
  49. package/package.json +62 -0
  50. package/reports/screenshots/screenshot_1764535110518.png +0 -0
  51. package/reports/test-report.json +106 -0
  52. package/scripts/check-mcp-server.sh +100 -0
  53. package/scripts/extract-pom-knowledge.js +222 -0
  54. package/scripts/pre-test-setup.js +262 -0
  55. package/scripts/start-mcp-server.sh +76 -0
  56. package/src/config/app.config.ts +175 -0
  57. package/src/config/llm.config.ts +220 -0
  58. package/src/config/mcp.config.ts +291 -0
  59. package/src/index.ts +161 -0
  60. package/src/llm/llamaClient.ts +159 -0
  61. package/src/mcp/mcpClient.ts +878 -0
  62. package/src/models/testSpec.ts +85 -0
  63. package/src/orchestrator/aiTestRunner.ts +286 -0
  64. package/src/utils/logger.ts +59 -0
  65. package/src/utils/promptBuilder.ts +384 -0
  66. package/tests/nlp-specs/login-flow.yaml +31 -0
  67. package/tsconfig.json +31 -0
@@ -0,0 +1,486 @@
1
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:05:44"}
2
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:05:44"}
3
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:05:44"}
4
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 22:05:44"}
5
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
6
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
7
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
8
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
9
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
10
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
11
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:10:28"}
12
+ {"level":"error","message":"Failed to initialize MCP server: Cannot connect to Appium server at http://localhost:4723: Error","service":"ai-test-runner","timestamp":"2025-11-30 22:10:29"}
13
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
14
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
15
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
16
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
17
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
18
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
19
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:44:48"}
20
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
21
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
22
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
23
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
24
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
25
+ {"level":"error","message":"Failed to get UI context: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
26
+ {"level":"warn","message":"Step attempt 1 failed: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:49"}
27
+ {"level":"error","message":"Failed to get UI context: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:51"}
28
+ {"level":"warn","message":"Step attempt 2 failed: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:51"}
29
+ {"level":"error","message":"Failed to get UI context: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:53"}
30
+ {"level":"warn","message":"Step attempt 3 failed: No active Appium session","service":"ai-test-runner","timestamp":"2025-11-30 22:44:53"}
31
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 22:44:53"}
32
+ {"level":"error","message":"Screenshot failed: Request failed with status code 500","service":"ai-test-runner","timestamp":"2025-11-30 22:44:54"}
33
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
34
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
35
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
36
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
37
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
38
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
39
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:46:30"}
40
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:46:31"}
41
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:46:31"}
42
+ {"level":"error","message":"Failed to initialize MCP server: Failed to create Appium session: Request failed with status code 500","service":"ai-test-runner","timestamp":"2025-11-30 22:46:34"}
43
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
44
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
45
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
46
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
47
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
48
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
49
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:01"}
50
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:48:03"}
51
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:03"}
52
+ {"level":"error","message":"Session creation failed with status 500","service":"ai-test-runner","timestamp":"2025-11-30 22:48:06"}
53
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
54
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
55
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
56
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
57
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
58
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
59
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:55"}
60
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:48:56"}
61
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:48:56"}
62
+ {"level":"error","message":"Session creation failed with status 500","service":"ai-test-runner","timestamp":"2025-11-30 22:49:00"}
63
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
64
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
65
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
66
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
67
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
68
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
69
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:54:20"}
70
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:54:21"}
71
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:54:21"}
72
+ {"level":"info","message":"Appium session created successfully: fd11c528-fa7f-41c3-aa39-126f0527855d","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
73
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
74
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
75
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
76
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
77
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-11-30 22:54:45"}
78
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:54:51"}
79
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:54:51"}
80
+ {"level":"info","message":"Executing action: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:51"}
81
+ {"level":"warn","message":"Unknown action type: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:51"}
82
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:51"}
83
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:54:56"}
84
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:54:56"}
85
+ {"level":"info","message":"Executing action: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:56"}
86
+ {"level":"warn","message":"Unknown action type: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:56"}
87
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:54:56"}
88
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
89
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
90
+ {"level":"info","message":"Executing action: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
91
+ {"level":"warn","message":"Unknown action type: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
92
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
93
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 22:55:01"}
94
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764523503873.png","service":"ai-test-runner","timestamp":"2025-11-30 22:55:03"}
95
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
96
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
97
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
98
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
99
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
100
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
101
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:56:58"}
102
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:57:00"}
103
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:57:00"}
104
+ {"level":"info","message":"Appium session created successfully: 78a06cfc-7a39-4181-875f-39faeb561cdf","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
105
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
106
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
107
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
108
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
109
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-11-30 22:57:23"}
110
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:57:26"}
111
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:57:26"}
112
+ {"level":"info","message":"Executing action: launch","service":"ai-test-runner","timestamp":"2025-11-30 22:57:26"}
113
+ {"level":"info","message":"Device session ready - no specific app launch required","service":"ai-test-runner","timestamp":"2025-11-30 22:57:26"}
114
+ {"level":"info","message":"Executing step: \"Click on 'Allow' if notifications dialog displayed\"","service":"ai-test-runner","timestamp":"2025-11-30 22:57:27"}
115
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:57:31"}
116
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:57:31"}
117
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 22:57:31"}
118
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:33"}
119
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:57:34"}
120
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:34"}
121
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:57:40"}
122
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:57:40"}
123
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 22:57:40"}
124
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:43"}
125
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:57:43"}
126
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:43"}
127
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:57:49"}
128
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:57:49"}
129
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 22:57:49"}
130
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:52"}
131
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:57:53"}
132
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:57:53"}
133
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 22:57:53"}
134
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764523677942.png","service":"ai-test-runner","timestamp":"2025-11-30 22:57:57"}
135
+ {"level":"error","message":"Test failed at step: Click on 'Allow' if notifications dialog displayed","service":"ai-test-runner","timestamp":"2025-11-30 22:57:57"}
136
+ {"level":"info","message":"Executing teardown steps...","service":"ai-test-runner","timestamp":"2025-11-30 22:57:57"}
137
+ {"level":"info","message":"Executing step: \"Close the app\"","service":"ai-test-runner","timestamp":"2025-11-30 22:57:57"}
138
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:58:00"}
139
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:58:00"}
140
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:00"}
141
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:58:01"}
142
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:01"}
143
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:58:06"}
144
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:58:06"}
145
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:06"}
146
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:58:07"}
147
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:07"}
148
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 22:58:11"}
149
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-11-30 22:58:11"}
150
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:11"}
151
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 22:58:12"}
152
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 22:58:12"}
153
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 22:58:12"}
154
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764523705200.png","service":"ai-test-runner","timestamp":"2025-11-30 22:58:25"}
155
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
156
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
157
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
158
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
159
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
160
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
161
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 22:59:38"}
162
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 22:59:39"}
163
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 22:59:39"}
164
+ {"level":"error","message":"Failed to initialize MCP server: Failed to create Appium session: timeout of 30000ms exceeded","service":"ai-test-runner","timestamp":"2025-11-30 23:00:09"}
165
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
166
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
167
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
168
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
169
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
170
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
171
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 23:01:37"}
172
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 23:01:38"}
173
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 23:01:38"}
174
+ {"level":"info","message":"Appium session created successfully: f8e5808f-ac5b-4467-a0ad-af3d58451338","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
175
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
176
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
177
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
178
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
179
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-11-30 23:02:02"}
180
+ {"level":"info","message":"Generated 5 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:02:10"}
181
+ {"level":"info","message":"Generated 5 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:02:10"}
182
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:10"}
183
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:02:12"}
184
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:15"}
185
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:02:17"}
186
+ {"level":"info","message":"Executing action: assert","service":"ai-test-runner","timestamp":"2025-11-30 23:02:19"}
187
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: assert","service":"ai-test-runner","timestamp":"2025-11-30 23:02:20"}
188
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:02:25"}
189
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:02:25"}
190
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:25"}
191
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:02:26"}
192
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:26"}
193
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:02:32"}
194
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:02:32"}
195
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:32"}
196
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:02:33"}
197
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:02:33"}
198
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 23:02:33"}
199
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764523955170.png","service":"ai-test-runner","timestamp":"2025-11-30 23:02:35"}
200
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
201
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
202
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
203
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
204
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
205
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
206
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-11-30 23:04:38"}
207
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-11-30 23:04:39"}
208
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-11-30 23:04:39"}
209
+ {"level":"info","message":"Appium session created successfully: e288bc68-f7ff-4ac2-b8bd-8c528c1c468c","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
210
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
211
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
212
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
213
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
214
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-11-30 23:05:09"}
215
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:05:14"}
216
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:05:14"}
217
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:14"}
218
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:05:16"}
219
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:19"}
220
+ {"level":"info","message":"Executing step: \"Click on 'Allow' if notifications dialog displayed\"","service":"ai-test-runner","timestamp":"2025-11-30 23:05:21"}
221
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:05:26"}
222
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:05:26"}
223
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:05:26"}
224
+ {"level":"info","message":"Executing action: scroll","service":"ai-test-runner","timestamp":"2025-11-30 23:05:28"}
225
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:32"}
226
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:05:32"}
227
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:32"}
228
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:05:39"}
229
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:05:39"}
230
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:05:39"}
231
+ {"level":"info","message":"Executing action: scroll","service":"ai-test-runner","timestamp":"2025-11-30 23:05:41"}
232
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:45"}
233
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:05:45"}
234
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:45"}
235
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:05:52"}
236
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:05:52"}
237
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:05:52"}
238
+ {"level":"info","message":"Executing action: scroll","service":"ai-test-runner","timestamp":"2025-11-30 23:05:54"}
239
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:58"}
240
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:05:58"}
241
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:05:58"}
242
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 23:05:58"}
243
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764524161175.png","service":"ai-test-runner","timestamp":"2025-11-30 23:06:01"}
244
+ {"level":"error","message":"Test failed at step: Click on 'Allow' if notifications dialog displayed","service":"ai-test-runner","timestamp":"2025-11-30 23:06:01"}
245
+ {"level":"info","message":"Executing teardown steps...","service":"ai-test-runner","timestamp":"2025-11-30 23:06:01"}
246
+ {"level":"info","message":"Executing step: \"Close the app\"","service":"ai-test-runner","timestamp":"2025-11-30 23:06:01"}
247
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:06:04"}
248
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:06:04"}
249
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:04"}
250
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:06:05"}
251
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:05"}
252
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:06:11"}
253
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:06:11"}
254
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:06:11"}
255
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:14"}
256
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:06:14"}
257
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:14"}
258
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-11-30 23:06:20"}
259
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-11-30 23:06:20"}
260
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-11-30 23:06:20"}
261
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:23"}
262
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-11-30 23:06:24"}
263
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-11-30 23:06:24"}
264
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-11-30 23:06:24"}
265
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764524190383.png","service":"ai-test-runner","timestamp":"2025-11-30 23:06:30"}
266
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
267
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
268
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
269
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
270
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
271
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
272
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-12-01 01:55:08"}
273
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-12-01 01:55:09"}
274
+ {"level":"info","message":"Creating new Appium session...","service":"ai-test-runner","timestamp":"2025-12-01 01:55:09"}
275
+ {"level":"error","message":"Failed to initialize MCP server: Failed to create Appium session: timeout of 30000ms exceeded","service":"ai-test-runner","timestamp":"2025-12-01 01:55:39"}
276
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
277
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
278
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
279
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
280
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
281
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
282
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-12-01 01:56:52"}
283
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-12-01 01:56:53"}
284
+ {"level":"info","message":"Creating new Appium session (attempt 1/3)...","service":"ai-test-runner","timestamp":"2025-12-01 01:56:53"}
285
+ {"level":"info","message":"Appium session created successfully: e8e1c29a-f52b-49dc-86d5-da73a3ea0575","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
286
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
287
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
288
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
289
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
290
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-12-01 01:57:46"}
291
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:57:55"}
292
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:57:55"}
293
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:57:55"}
294
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 01:57:58"}
295
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:01"}
296
+ {"level":"info","message":"Executing step: \"Click on 'Allow' if notifications dialog displayed\"","service":"ai-test-runner","timestamp":"2025-12-01 01:58:03"}
297
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:07"}
298
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:07"}
299
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 01:58:07"}
300
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:10"}
301
+ {"level":"info","message":"Executing step: \"Click on 'Get Started' button\"","service":"ai-test-runner","timestamp":"2025-12-01 01:58:13"}
302
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:17"}
303
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:17"}
304
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:17"}
305
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:17"}
306
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:17"}
307
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:22"}
308
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:22"}
309
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:22"}
310
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:23"}
311
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:23"}
312
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
313
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
314
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
315
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
316
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
317
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 01:58:28"}
318
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764534510095.png","service":"ai-test-runner","timestamp":"2025-12-01 01:58:30"}
319
+ {"level":"error","message":"Test failed at step: Click on 'Get Started' button","service":"ai-test-runner","timestamp":"2025-12-01 01:58:30"}
320
+ {"level":"info","message":"Executing teardown steps...","service":"ai-test-runner","timestamp":"2025-12-01 01:58:30"}
321
+ {"level":"info","message":"Executing step: \"Close the app\"","service":"ai-test-runner","timestamp":"2025-12-01 01:58:30"}
322
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:35"}
323
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:35"}
324
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 01:58:35"}
325
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:37"}
326
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:38"}
327
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:38"}
328
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:44"}
329
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:44"}
330
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 01:58:44"}
331
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:47"}
332
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:47"}
333
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:47"}
334
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 01:58:53"}
335
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 01:58:53"}
336
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 01:58:53"}
337
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:56"}
338
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 01:58:56"}
339
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 01:58:56"}
340
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 01:58:56"}
341
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764534538536.png","service":"ai-test-runner","timestamp":"2025-12-01 01:58:58"}
342
+ {"level":"info","message":"Test Technician App Login Flow completed with status: failed","service":"ai-test-runner","timestamp":"2025-12-01 01:58:58"}
343
+ {"level":"info","message":"Stopping Appium session: e8e1c29a-f52b-49dc-86d5-da73a3ea0575","service":"ai-test-runner","timestamp":"2025-12-01 01:58:58"}
344
+ {"level":"info","message":"Appium session stopped successfully","service":"ai-test-runner","timestamp":"2025-12-01 01:58:59"}
345
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
346
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
347
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
348
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
349
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
350
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
351
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-12-01 02:01:32"}
352
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-12-01 02:01:33"}
353
+ {"level":"info","message":"Creating new Appium session (attempt 1/3)...","service":"ai-test-runner","timestamp":"2025-12-01 02:01:33"}
354
+ {"level":"info","message":"Appium session created successfully: 4de64c6a-31d8-4903-ae16-18b6422dd6c2","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
355
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
356
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
357
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
358
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
359
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-12-01 02:01:58"}
360
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:03"}
361
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:03"}
362
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:03"}
363
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:02:06"}
364
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:09"}
365
+ {"level":"info","message":"Executing step: \"Click on 'Allow' if notifications dialog displayed\"","service":"ai-test-runner","timestamp":"2025-12-01 02:02:11"}
366
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:15"}
367
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:15"}
368
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:02:15"}
369
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:18"}
370
+ {"level":"info","message":"Executing step: \"Click on 'Get Started' button\"","service":"ai-test-runner","timestamp":"2025-12-01 02:02:21"}
371
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:24"}
372
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:24"}
373
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:24"}
374
+ {"level":"info","message":"Executing step: \"Login with mobile number \"112233445\"\"","service":"ai-test-runner","timestamp":"2025-12-01 02:02:26"}
375
+ {"level":"info","message":"Generated 7 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:32"}
376
+ {"level":"info","message":"Generated 7 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:32"}
377
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:32"}
378
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:02:33"}
379
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:33"}
380
+ {"level":"info","message":"Generated 7 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:41"}
381
+ {"level":"info","message":"Generated 7 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:41"}
382
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:41"}
383
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:02:41"}
384
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:41"}
385
+ {"level":"info","message":"Generated 7 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:49"}
386
+ {"level":"info","message":"Generated 7 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:49"}
387
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:49"}
388
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:02:50"}
389
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:50"}
390
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 02:02:50"}
391
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764534772009.png","service":"ai-test-runner","timestamp":"2025-12-01 02:02:52"}
392
+ {"level":"error","message":"Test failed at step: Login with mobile number \"112233445\"","service":"ai-test-runner","timestamp":"2025-12-01 02:02:52"}
393
+ {"level":"info","message":"Executing teardown steps...","service":"ai-test-runner","timestamp":"2025-12-01 02:02:52"}
394
+ {"level":"info","message":"Executing step: \"Close the app\"","service":"ai-test-runner","timestamp":"2025-12-01 02:02:52"}
395
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:02:56"}
396
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:02:56"}
397
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:02:56"}
398
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:02:58"}
399
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:03:00"}
400
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:03:00"}
401
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:03:05"}
402
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:03:05"}
403
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:03:05"}
404
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:03:05"}
405
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:03:05"}
406
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
407
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
408
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
409
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
410
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
411
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 02:03:11"}
412
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764534793846.png","service":"ai-test-runner","timestamp":"2025-12-01 02:03:13"}
413
+ {"level":"info","message":"Test Technician App Login Flow completed with status: failed","service":"ai-test-runner","timestamp":"2025-12-01 02:03:13"}
414
+ {"level":"info","message":"Stopping Appium session: 4de64c6a-31d8-4903-ae16-18b6422dd6c2","service":"ai-test-runner","timestamp":"2025-12-01 02:03:13"}
415
+ {"level":"info","message":"Appium session stopped successfully","service":"ai-test-runner","timestamp":"2025-12-01 02:03:14"}
416
+ {"level":"info","message":"Starting AI Test Runner...","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
417
+ {"level":"info","message":"Spec path: tests/nlp-specs/login-flow.yaml","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
418
+ {"level":"info","message":"LlamaClient initialized with model: llama3.2:3b","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
419
+ {"level":"info","message":"MCPClient initialized","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
420
+ {"level":"info","message":"Loaded app knowledge from: knowledge/app-knowledge.txt","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
421
+ {"level":"info","message":"Running test spec: Technician App Login Flow","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
422
+ {"level":"info","message":"Initializing MCP-Appium server...","service":"ai-test-runner","timestamp":"2025-12-01 02:06:46"}
423
+ {"level":"info","message":"Appium server is reachable","service":"ai-test-runner","timestamp":"2025-12-01 02:06:47"}
424
+ {"level":"info","message":"Creating new Appium session (attempt 1/3)...","service":"ai-test-runner","timestamp":"2025-12-01 02:06:47"}
425
+ {"level":"info","message":"Appium session created successfully: 2b580d12-75ec-42da-9cc8-448359c1124c","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
426
+ {"level":"info","message":"Platform detected: android","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
427
+ {"level":"info","message":"MCP-Appium server initialized successfully","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
428
+ {"level":"info","message":"LLM health check passed","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
429
+ {"level":"info","message":"Executing setup steps...","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
430
+ {"level":"info","message":"Executing step: \"Launch the DmgPro app\"","service":"ai-test-runner","timestamp":"2025-12-01 02:07:11"}
431
+ {"level":"info","message":"Generated 3 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:07:17"}
432
+ {"level":"info","message":"Generated 3 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:07:17"}
433
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:17"}
434
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:07:20"}
435
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:22"}
436
+ {"level":"info","message":"Executing step: \"Click on 'Allow' if notifications dialog displayed\"","service":"ai-test-runner","timestamp":"2025-12-01 02:07:25"}
437
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:07:29"}
438
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:07:29"}
439
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:07:29"}
440
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:32"}
441
+ {"level":"info","message":"Executing step: \"Click on 'Get Started' button\"","service":"ai-test-runner","timestamp":"2025-12-01 02:07:35"}
442
+ {"level":"info","message":"Generated 1 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:07:38"}
443
+ {"level":"info","message":"Generated 1 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:07:38"}
444
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:38"}
445
+ {"level":"info","message":"Executing step: \"Input the mobile number \"112233445\" into the Phone Number input field\"","service":"ai-test-runner","timestamp":"2025-12-01 02:07:40"}
446
+ {"level":"info","message":"Generated 7 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:07:47"}
447
+ {"level":"info","message":"Generated 7 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:07:47"}
448
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:47"}
449
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:07:49"}
450
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:49"}
451
+ {"level":"info","message":"Generated 6 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:07:57"}
452
+ {"level":"info","message":"Generated 6 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:07:57"}
453
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:57"}
454
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:07:57"}
455
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:07:57"}
456
+ {"level":"info","message":"Generated 6 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:08:05"}
457
+ {"level":"info","message":"Generated 6 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:08:05"}
458
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:05"}
459
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:08:06"}
460
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:06"}
461
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 02:08:06"}
462
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764535088360.png","service":"ai-test-runner","timestamp":"2025-12-01 02:08:08"}
463
+ {"level":"error","message":"Test failed at step: Input the mobile number \"112233445\" into the Phone Number input field","service":"ai-test-runner","timestamp":"2025-12-01 02:08:08"}
464
+ {"level":"info","message":"Executing teardown steps...","service":"ai-test-runner","timestamp":"2025-12-01 02:08:08"}
465
+ {"level":"info","message":"Executing step: \"Close the app\"","service":"ai-test-runner","timestamp":"2025-12-01 02:08:08"}
466
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:08:12"}
467
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:08:12"}
468
+ {"level":"info","message":"Executing action: wait","service":"ai-test-runner","timestamp":"2025-12-01 02:08:12"}
469
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:15"}
470
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:08:17"}
471
+ {"level":"warn","message":"Step attempt 1 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:17"}
472
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:08:22"}
473
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:08:22"}
474
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:22"}
475
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:08:22"}
476
+ {"level":"warn","message":"Step attempt 2 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:22"}
477
+ {"level":"info","message":"Generated 2 actions for step","service":"ai-test-runner","timestamp":"2025-12-01 02:08:27"}
478
+ {"level":"info","message":"Generated 2 actions","service":"ai-test-runner","timestamp":"2025-12-01 02:08:27"}
479
+ {"level":"info","message":"Executing action: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:27"}
480
+ {"level":"error","message":"Tap failed: Element not found","service":"ai-test-runner","timestamp":"2025-12-01 02:08:28"}
481
+ {"level":"warn","message":"Step attempt 3 failed: Action failed: tap","service":"ai-test-runner","timestamp":"2025-12-01 02:08:28"}
482
+ {"level":"info","message":"Executing action: screenshot","service":"ai-test-runner","timestamp":"2025-12-01 02:08:28"}
483
+ {"level":"info","message":"Screenshot saved: /Users/dinesh/Desktop/qa-repos/ai-tech-app-agent/reports/screenshots/screenshot_1764535110518.png","service":"ai-test-runner","timestamp":"2025-12-01 02:08:30"}
484
+ {"level":"info","message":"Test Technician App Login Flow completed with status: failed","service":"ai-test-runner","timestamp":"2025-12-01 02:08:30"}
485
+ {"level":"info","message":"Stopping Appium session: 2b580d12-75ec-42da-9cc8-448359c1124c","service":"ai-test-runner","timestamp":"2025-12-01 02:08:30"}
486
+ {"level":"info","message":"Appium session stopped successfully","service":"ai-test-runner","timestamp":"2025-12-01 02:08:31"}