playwright-ai-insights 1.2.4 → 1.2.6

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.
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './failureAnalyzer.js';
5
5
  export * from './selfHealingAgent.js';
6
+ export * from './locatorSuggester.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './failureAnalyzer.js';
5
5
  export * from './selfHealingAgent.js';
6
+ export * from './locatorSuggester.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * AI Locator Suggestion Agent
3
+ * Suggests improved locators for failed Playwright tests
4
+ */
5
+ interface LocatorSuggestion {
6
+ failedLocator: string;
7
+ suggestedLocator: string;
8
+ confidence: number;
9
+ reason: string;
10
+ decision: 'SAFE_TO_APPLY' | 'NEEDS_REVIEW' | 'NOT_RECOMMENDED';
11
+ }
12
+ /**
13
+ * Suggest improved locator for failed test
14
+ */
15
+ export declare function suggestLocator(testName: string, error: string, dom: string): Promise<LocatorSuggestion>;
16
+ /**
17
+ * Check if failure is a locator/timeout issue
18
+ */
19
+ export declare function isLocatorTimeoutFailure(error: string): boolean;
20
+ export {};
21
+ //# sourceMappingURL=locatorSuggester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locatorSuggester.d.ts","sourceRoot":"","sources":["../../src/agents/locatorSuggester.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,iBAAiB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,GAAG,cAAc,GAAG,iBAAiB,CAAC;CAChE;AAwDD;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CAsD5B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAU9D"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * AI Locator Suggestion Agent
3
+ * Suggests improved locators for failed Playwright tests
4
+ */
5
+ import OpenAI from 'openai';
6
+ import { getConfig } from '../utils/config.js';
7
+ import { logger } from '../utils/logger.js';
8
+ let cachedClient = null;
9
+ function getOpenAIClient() {
10
+ if (!cachedClient) {
11
+ const config = getConfig();
12
+ cachedClient = new OpenAI({ apiKey: config.openaiApiKey });
13
+ }
14
+ return cachedClient;
15
+ }
16
+ /**
17
+ * Derive decision based on confidence score
18
+ */
19
+ function deriveDecision(confidence) {
20
+ if (confidence >= 85)
21
+ return 'SAFE_TO_APPLY';
22
+ if (confidence >= 70)
23
+ return 'NEEDS_REVIEW';
24
+ return 'NOT_RECOMMENDED';
25
+ }
26
+ /**
27
+ * Build specialized prompt for locator suggestions
28
+ */
29
+ function buildLocatorPrompt(testName, error, dom) {
30
+ return `You are a Playwright automation expert specializing in locator strategies.
31
+
32
+ Test Information:
33
+ - Test: ${testName}
34
+ - Error: ${error}
35
+
36
+ DOM Snapshot (partial):
37
+ ${dom.slice(0, 4000)}
38
+
39
+ Your Task:
40
+ 1. Identify the likely failed locator/selector
41
+ 2. Suggest ONE more stable Playwright locator using best practices
42
+ 3. Confidence (0-100 scale)
43
+ 4. Brief explanation
44
+
45
+ Use these Playwright locators:
46
+ - page.getByRole('heading', { name: /Pattern/i })
47
+ - page.getByTestId('elementId')
48
+ - page.getByLabel('Label')
49
+ - page.locator('h1:has-text("Text")')
50
+ - page.locator('[data-testid="id"]')
51
+
52
+ Respond ONLY with JSON (no markdown, no backticks):
53
+ {
54
+ "failedLocator": "likely failed selector",
55
+ "suggestedLocator": "new stable selector",
56
+ "confidence": 75,
57
+ "reason": "why this locator is better"
58
+ }`;
59
+ }
60
+ /**
61
+ * Suggest improved locator for failed test
62
+ */
63
+ export async function suggestLocator(testName, error, dom) {
64
+ try {
65
+ const config = getConfig();
66
+ const prompt = buildLocatorPrompt(testName, error, dom);
67
+ const client = getOpenAIClient();
68
+ const response = await client.chat.completions.create({
69
+ model: config.model || 'gpt-4o-mini',
70
+ messages: [{ role: 'user', content: prompt }],
71
+ temperature: 0.2,
72
+ });
73
+ const rawContent = response.choices[0].message.content || '';
74
+ // Defensive JSON extraction (clean markdown if LLM added it)
75
+ const cleaned = rawContent
76
+ .replace(/```json/gi, '')
77
+ .replace(/```/g, '')
78
+ .trim();
79
+ let parsed;
80
+ try {
81
+ parsed = JSON.parse(cleaned);
82
+ }
83
+ catch (parseError) {
84
+ logger.warn('Failed to parse AI locator response, using fallback');
85
+ logger.debug('Raw response:', rawContent);
86
+ parsed = {
87
+ failedLocator: 'Unknown',
88
+ suggestedLocator: `page.getByRole('heading')`,
89
+ confidence: 50,
90
+ reason: 'Unable to parse AI response, using safe default',
91
+ };
92
+ }
93
+ const suggestion = {
94
+ failedLocator: parsed.failedLocator || 'Unknown',
95
+ suggestedLocator: parsed.suggestedLocator || `page.getByRole('heading')`,
96
+ confidence: Math.min(100, Math.max(0, parsed.confidence || 50)),
97
+ reason: parsed.reason || 'AI suggestion generated',
98
+ decision: deriveDecision(parsed.confidence || 50),
99
+ };
100
+ logger.debug('Locator suggestion generated:', suggestion);
101
+ return suggestion;
102
+ }
103
+ catch (error) {
104
+ logger.error('Failed to suggest locator:', error);
105
+ return {
106
+ failedLocator: 'Unable to analyze',
107
+ suggestedLocator: `page.getByRole('heading')`,
108
+ confidence: 0,
109
+ reason: 'Error analyzing failure',
110
+ decision: 'NOT_RECOMMENDED',
111
+ };
112
+ }
113
+ }
114
+ /**
115
+ * Check if failure is a locator/timeout issue
116
+ */
117
+ export function isLocatorTimeoutFailure(error) {
118
+ const errorLower = error.toLowerCase();
119
+ return (/test timeout/i.test(errorLower) ||
120
+ /waiting for locator/i.test(errorLower) ||
121
+ /timeout.*locator/i.test(errorLower) ||
122
+ /locator.*not.*found/i.test(errorLower) ||
123
+ /element.*not.*found/i.test(errorLower) ||
124
+ /page\.(click|fill|check|selectoption)/i.test(errorLower));
125
+ }
126
+ //# sourceMappingURL=locatorSuggester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locatorSuggester.js","sourceRoot":"","sources":["../../src/agents/locatorSuggester.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,14 @@ declare class AIReportGenerator {
15
15
  * Load test results from file
16
16
  */
17
17
  private loadTestResults;
18
+ /**
19
+ * Strip markdown formatting from text
20
+ */
21
+ private stripMarkdown;
22
+ /**
23
+ * Strip ANSI color codes from text
24
+ */
25
+ private stripAnsiCodes;
18
26
  /**
19
27
  * Analyze a single test failure with AI
20
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reportGenerator.d.ts","sourceRoot":"","sources":["../../src/core/reportGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH,cAAM,iBAAiB;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,UAAU,CAAqC;gBAE3C,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9E;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB;;OAEG;YACW,cAAc;IAqC5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4R1B;;OAEG;IACH,OAAO,CAAC,UAAU;CAUnB;AAED,eAAO,MAAM,eAAe,mBAA0B,CAAC;AACvD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"reportGenerator.d.ts","sourceRoot":"","sources":["../../src/core/reportGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,cAAM,iBAAiB;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,UAAU,CAAqC;gBAE3C,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9E;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;YACW,cAAc;IAyD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4R1B;;OAEG;IACH,OAAO,CAAC,UAAU;CAUnB;AAED,eAAO,MAAM,eAAe,mBAA0B,CAAC;AACvD,eAAe,eAAe,CAAC"}
@@ -5,6 +5,7 @@
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
  import { analyzeFailure } from '../agents/failureAnalyzer.js';
8
+ import { suggestLocator, isLocatorTimeoutFailure } from '../agents/locatorSuggester.js';
8
9
  import { classifyFailure } from '../analyzers/failureClassifier.js';
9
10
  class AIReportGenerator {
10
11
  constructor(projectRoot = process.cwd()) {
@@ -22,7 +23,8 @@ class AIReportGenerator {
22
23
  console.log('ℹ️ No test results found to analyze.');
23
24
  return;
24
25
  }
25
- const failedTests = testResults.filter((t) => t.status === 'failed');
26
+ // Include all non-passing statuses: failed, timedOut, crashed, interrupted, skipped etc
27
+ const failedTests = testResults.filter((t) => t.status && t.status !== 'passed' && t.status !== 'skipped');
26
28
  if (failedTests.length === 0) {
27
29
  console.log('✅ All tests passed! No failures to analyze.');
28
30
  return;
@@ -100,6 +102,25 @@ class AIReportGenerator {
100
102
  return [];
101
103
  }
102
104
  }
105
+ /**
106
+ * Strip markdown formatting from text
107
+ */
108
+ stripMarkdown(text) {
109
+ return text
110
+ .replace(/^#+\s+/gm, '') // Remove markdown headers
111
+ .replace(/\*\*/g, '') // Remove bold markers
112
+ .replace(/`/g, '') // Remove code markers
113
+ .replace(/\[([^\]]+)\]\([^\)]+\)/g, '$1') // Convert links to text
114
+ .replace(/\n+/g, ' ') // Replace newlines with spaces
115
+ .replace(/\s+/g, ' ') // Collapse multiple spaces
116
+ .trim();
117
+ }
118
+ /**
119
+ * Strip ANSI color codes from text
120
+ */
121
+ stripAnsiCodes(text) {
122
+ return text.replace(/\u001b\[[0-9;]*m/g, ''); // Remove ANSI color codes
123
+ }
103
124
  /**
104
125
  * Analyze a single test failure with AI
105
126
  */
@@ -117,7 +138,8 @@ class AIReportGenerator {
117
138
  const errorMsg = test.error?.message || '';
118
139
  const potentiallyFlaky = errorMsg.toLowerCase().includes('timeout') ||
119
140
  errorMsg.toLowerCase().includes('flaky') ||
120
- errorMsg.toLowerCase().includes('intermittent');
141
+ errorMsg.toLowerCase().includes('intermittent') ||
142
+ test.status === 'timedOut';
121
143
  insight.isFlaky = potentiallyFlaky;
122
144
  // Get AI-powered suggestion
123
145
  const result = await analyzeFailure({
@@ -125,7 +147,20 @@ class AIReportGenerator {
125
147
  error: test.error?.message || '',
126
148
  errorType: failureType,
127
149
  });
128
- insight.suggestion = result.rootCause || result.suggestions?.[0];
150
+ // For timeout/locator failures, get specific locator suggestions
151
+ let suggestion = this.stripMarkdown(result.rootCause || result.suggestions?.[0] || '');
152
+ let confidence = result.confidence || 0;
153
+ if (isLocatorTimeoutFailure(test.error?.message || '')) {
154
+ try {
155
+ const locatorSuggestion = await suggestLocator(test.name, test.error?.message || '', test.error?.message || 'No DOM available');
156
+ suggestion = `Try locator: ${locatorSuggestion.suggestedLocator} (${locatorSuggestion.decision}). ${locatorSuggestion.reason}`;
157
+ confidence = locatorSuggestion.confidence;
158
+ }
159
+ catch (locatorError) {
160
+ console.warn('Could not generate locator suggestion:', locatorError);
161
+ }
162
+ }
163
+ insight.suggestion = suggestion;
129
164
  insight.confidence = result.confidence || 0;
130
165
  }
131
166
  catch (error) {
@@ -147,7 +182,7 @@ class AIReportGenerator {
147
182
  <td class="index">${index + 1}</td>
148
183
  <td class="test-name">${this.escapeHtml(insight.testName)}</td>
149
184
  <td class="failure-type">${insight.failureType || 'Unknown'}</td>
150
- <td class="error-msg">${this.escapeHtml(insight.errorMessage || 'N/A')}</td>
185
+ <td class="error-msg">${this.escapeHtml(this.stripAnsiCodes(insight.errorMessage || 'N/A'))}</td>
151
186
  <td class="suggestion">${this.escapeHtml(insight.suggestion || 'N/A')}</td>
152
187
  <td class="confidence">${insight.confidence ? Math.round(insight.confidence) + '%' : 'N/A'}</td>
153
188
  <td class="flaky ${insight.isFlaky ? 'yes' : 'no'}">${insight.isFlaky ? '⚠️ Yes' : 'No'}</td>
@@ -1 +1 @@
1
- {"version":3,"file":"reportGenerator.js","sourceRoot":"","sources":["../../src/core/reportGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportGenerator.js","sourceRoot":"","sources":["../../src/core/reportGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright-ai-insights",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "AI-powered Playwright test failure analysis and self-healing with locator suggestions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",