diff --git a/packages/html-reporter/src/icons.tsx b/packages/html-reporter/src/icons.tsx
index df40c82f00..ffe6a08fcf 100644
--- a/packages/html-reporter/src/icons.tsx
+++ b/packages/html-reporter/src/icons.tsx
@@ -97,9 +97,3 @@ export const copy = () => {
;
};
-
-export const copilot = () => {
- return ;
-};
diff --git a/packages/html-reporter/src/testErrorView.css b/packages/html-reporter/src/testErrorView.css
index 5b6b10389b..7cc9e88a79 100644
--- a/packages/html-reporter/src/testErrorView.css
+++ b/packages/html-reporter/src/testErrorView.css
@@ -34,3 +34,29 @@
.test-error-text {
font-family: monospace;
}
+
+.prompt-button {
+ flex: none;
+ height: 24px;
+ width: 80px;
+ border: 1px solid var(--color-btn-border);
+ outline: none;
+ color: var(--color-btn-text);
+ background: var(--color-btn-bg);
+ padding: 4px;
+ cursor: pointer;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 4px;
+}
+
+.prompt-button svg {
+ color: var(--color-fg-subtle);
+}
+
+.prompt-button:not(:disabled):hover {
+ border-color: var(--color-btn-hover-border);
+ background-color: var(--color-btn-hover-bg);
+}
+
diff --git a/packages/html-reporter/src/testErrorView.tsx b/packages/html-reporter/src/testErrorView.tsx
index d21daa85dc..477311387e 100644
--- a/packages/html-reporter/src/testErrorView.tsx
+++ b/packages/html-reporter/src/testErrorView.tsx
@@ -21,7 +21,6 @@ import * as icons from './icons';
import type { ImageDiff } from '@web/shared/imageDiffView';
import { ImageDiffView } from '@web/shared/imageDiffView';
import type { TestResult } from './types';
-import { CopyToClipboard } from './copyToClipboard';
import { fixTestPrompt } from '@web/components/prompts';
import { useGitCommitInfo } from './metadataView';
@@ -56,7 +55,19 @@ const PromptButton: React.FC<{
result?.attachments.find(a => a.name === 'pageSnapshot')?.body
), [gitCommitInfo, result, error]);
- return } title='Copy prompt to clipboard' />;
+ const [copied, setCopied] = React.useState(false);
+
+ return ;
};
export const TestScreenshotErrorView: React.FC<{
diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts
index 2000ae9fb9..acb54f3b31 100644
--- a/tests/playwright-test/reporter-html.spec.ts
+++ b/tests/playwright-test/reporter-html.spec.ts
@@ -2742,7 +2742,7 @@ for (const useIntermediateMergeReport of [true, false] as const) {
await page.context().grantPermissions(['clipboard-read', 'clipboard-write']);
await page.getByRole('link', { name: 'sample' }).click();
- await page.getByRole('button', { name: 'Copy prompt to clipboard' }).click();
+ await page.getByRole('button', { name: 'Fix with AI' }).click();
const prompt = await page.evaluate(() => navigator.clipboard.readText());
expect(prompt, 'contains error').toContain('expect(received).toBe(expected)');
expect(prompt, 'contains diff').toContain(`+ test('sample', async ({}) => { expect(2).toBe(3); });`);