cbrowser 7.0.0 → 7.1.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.
- package/dist/browser.d.ts +17 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +418 -23
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +130 -2
- package/dist/cli.js.map +1 -1
- package/dist/types.d.ts +91 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/browser.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { type Page } from "playwright";
|
|
7
7
|
import { type CBrowserConfig } from "./config.js";
|
|
8
|
-
import type { SavedSession, NavigationResult, ClickResult, ExtractResult, JourneyResult, CleanupOptions, CleanupResult, JourneyOptions, NetworkMock, NetworkRequest, PerformanceMetrics, PerformanceAuditResult, SmartRetryResult, AssertionResult, SelectorCacheEntry, SelectorCacheStats, PageAnalysis, TestGenerationResult, PersonaComparisonResult, NLTestStep, NLTestCase, NLTestSuiteResult, TestRepairResult, TestRepairSuiteResult, FlakyTestSuiteResult, PerformanceBaseline, PerformanceRegressionThresholds, PerformanceRegressionResult, TestedPage, SitePage, CoverageGap, TestCoverageAnalysis, CoverageMapResult, CoverageMapOptions, VisualBaseline, VisualRegressionResult, VisualRegressionOptions, VisualTestSuite, VisualTestSuiteResult } from "./types.js";
|
|
8
|
+
import type { SavedSession, NavigationResult, ClickResult, ExtractResult, JourneyResult, CleanupOptions, CleanupResult, JourneyOptions, NetworkMock, NetworkRequest, PerformanceMetrics, PerformanceAuditResult, SmartRetryResult, AssertionResult, SelectorCacheEntry, SelectorCacheStats, PageAnalysis, TestGenerationResult, PersonaComparisonResult, NLTestStep, NLTestCase, NLTestSuiteResult, TestRepairResult, TestRepairSuiteResult, FlakyTestSuiteResult, PerformanceBaseline, PerformanceRegressionThresholds, PerformanceRegressionResult, TestedPage, SitePage, CoverageGap, TestCoverageAnalysis, CoverageMapResult, CoverageMapOptions, VisualBaseline, VisualRegressionResult, VisualRegressionOptions, VisualTestSuite, VisualTestSuiteResult, CrossBrowserResult, CrossBrowserOptions, CrossBrowserSuite, CrossBrowserSuiteResult } from "./types.js";
|
|
9
9
|
export declare class CBrowser {
|
|
10
10
|
private config;
|
|
11
11
|
private paths;
|
|
@@ -798,4 +798,20 @@ export declare function formatVisualRegressionReport(result: VisualRegressionRes
|
|
|
798
798
|
* Generate HTML report for visual regression suite
|
|
799
799
|
*/
|
|
800
800
|
export declare function generateVisualRegressionHtmlReport(suiteResult: VisualTestSuiteResult): string;
|
|
801
|
+
/**
|
|
802
|
+
* Run cross-browser visual test for a single URL
|
|
803
|
+
*/
|
|
804
|
+
export declare function runCrossBrowserTest(url: string, options?: CrossBrowserOptions): Promise<CrossBrowserResult>;
|
|
805
|
+
/**
|
|
806
|
+
* Run cross-browser test suite
|
|
807
|
+
*/
|
|
808
|
+
export declare function runCrossBrowserSuite(suite: CrossBrowserSuite): Promise<CrossBrowserSuiteResult>;
|
|
809
|
+
/**
|
|
810
|
+
* Format cross-browser result as text report
|
|
811
|
+
*/
|
|
812
|
+
export declare function formatCrossBrowserReport(result: CrossBrowserResult): string;
|
|
813
|
+
/**
|
|
814
|
+
* Generate HTML report for cross-browser test suite
|
|
815
|
+
*/
|
|
816
|
+
export declare function generateCrossBrowserHtmlReport(suiteResult: CrossBrowserSuiteResult): string;
|
|
801
817
|
//# sourceMappingURL=browser.d.ts.map
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.js
CHANGED
|
@@ -50,32 +50,48 @@ exports.runVisualRegression = runVisualRegression;
|
|
|
50
50
|
exports.runVisualRegressionSuite = runVisualRegressionSuite;
|
|
51
51
|
exports.formatVisualRegressionReport = formatVisualRegressionReport;
|
|
52
52
|
exports.generateVisualRegressionHtmlReport = generateVisualRegressionHtmlReport;
|
|
53
|
+
exports.runCrossBrowserTest = runCrossBrowserTest;
|
|
54
|
+
exports.runCrossBrowserSuite = runCrossBrowserSuite;
|
|
55
|
+
exports.formatCrossBrowserReport = formatCrossBrowserReport;
|
|
56
|
+
exports.generateCrossBrowserHtmlReport = generateCrossBrowserHtmlReport;
|
|
53
57
|
const playwright_1 = require("playwright");
|
|
54
58
|
const fs_1 = require("fs");
|
|
55
59
|
const path_1 = require("path");
|
|
56
60
|
const config_js_1 = require("./config.js");
|
|
57
61
|
const personas_js_1 = require("./personas.js");
|
|
58
62
|
const types_js_1 = require("./types.js");
|
|
59
|
-
//
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
63
|
+
// Browser-specific fast launch args for performance optimization
|
|
64
|
+
const BROWSER_LAUNCH_ARGS = {
|
|
65
|
+
// Chromium args - reduces cold start time significantly
|
|
66
|
+
chromium: [
|
|
67
|
+
"--disable-gpu",
|
|
68
|
+
"--disable-dev-shm-usage",
|
|
69
|
+
"--disable-setuid-sandbox",
|
|
70
|
+
"--no-sandbox",
|
|
71
|
+
"--disable-extensions",
|
|
72
|
+
"--disable-background-networking",
|
|
73
|
+
"--disable-background-timer-throttling",
|
|
74
|
+
"--disable-backgrounding-occluded-windows",
|
|
75
|
+
"--disable-breakpad",
|
|
76
|
+
"--disable-component-extensions-with-background-pages",
|
|
77
|
+
"--disable-features=TranslateUI",
|
|
78
|
+
"--disable-ipc-flooding-protection",
|
|
79
|
+
"--disable-renderer-backgrounding",
|
|
80
|
+
"--enable-features=NetworkService,NetworkServiceInProcess",
|
|
81
|
+
"--force-color-profile=srgb",
|
|
82
|
+
"--metrics-recording-only",
|
|
83
|
+
"--no-first-run",
|
|
84
|
+
],
|
|
85
|
+
// Firefox args - uses different flag format
|
|
86
|
+
firefox: [
|
|
87
|
+
"-no-remote", // Don't connect to existing Firefox instance
|
|
88
|
+
"-new-instance", // Force new browser instance
|
|
89
|
+
],
|
|
90
|
+
// WebKit args - minimal flags, WebKit is already lean
|
|
91
|
+
webkit: [],
|
|
92
|
+
};
|
|
93
|
+
// Legacy alias for backward compatibility
|
|
94
|
+
const FAST_LAUNCH_ARGS = BROWSER_LAUNCH_ARGS.chromium;
|
|
79
95
|
class CBrowser {
|
|
80
96
|
config;
|
|
81
97
|
paths;
|
|
@@ -170,6 +186,8 @@ class CBrowser {
|
|
|
170
186
|
};
|
|
171
187
|
}
|
|
172
188
|
// Use persistent context if enabled (preserves cookies/localStorage between sessions)
|
|
189
|
+
// Use browser-specific launch args for optimal performance
|
|
190
|
+
const launchArgs = BROWSER_LAUNCH_ARGS[this.config.browser];
|
|
173
191
|
if (this.config.persistent) {
|
|
174
192
|
const browserStateDir = (0, path_1.join)(this.paths.dataDir, "browser-state");
|
|
175
193
|
if (!(0, fs_1.existsSync)(browserStateDir)) {
|
|
@@ -177,7 +195,7 @@ class CBrowser {
|
|
|
177
195
|
}
|
|
178
196
|
this.context = await browserType.launchPersistentContext(browserStateDir, {
|
|
179
197
|
headless: this.config.headless,
|
|
180
|
-
args:
|
|
198
|
+
args: launchArgs,
|
|
181
199
|
...contextOptions,
|
|
182
200
|
});
|
|
183
201
|
this.page = this.context.pages()[0] || await this.context.newPage();
|
|
@@ -188,7 +206,7 @@ class CBrowser {
|
|
|
188
206
|
else {
|
|
189
207
|
this.browser = await browserType.launch({
|
|
190
208
|
headless: this.config.headless,
|
|
191
|
-
args:
|
|
209
|
+
args: launchArgs,
|
|
192
210
|
});
|
|
193
211
|
this.context = await this.browser.newContext(contextOptions);
|
|
194
212
|
this.page = await this.context.newPage();
|
|
@@ -5813,7 +5831,384 @@ function generateVisualRegressionHtmlReport(suiteResult) {
|
|
|
5813
5831
|
</div>
|
|
5814
5832
|
|
|
5815
5833
|
<footer>
|
|
5816
|
-
Generated by CBrowser v7.
|
|
5834
|
+
Generated by CBrowser v7.1.0 | Suite completed in ${(duration / 1000).toFixed(1)}s
|
|
5835
|
+
</footer>
|
|
5836
|
+
</div>
|
|
5837
|
+
</body>
|
|
5838
|
+
</html>`;
|
|
5839
|
+
}
|
|
5840
|
+
// =========================================================================
|
|
5841
|
+
// Tier 7.1: Cross-Browser Visual Testing (v7.1.0)
|
|
5842
|
+
// =========================================================================
|
|
5843
|
+
/**
|
|
5844
|
+
* Get the path for cross-browser screenshots
|
|
5845
|
+
*/
|
|
5846
|
+
function getCrossBrowserScreenshotsPath() {
|
|
5847
|
+
const baseDir = process.env.CBROWSER_DATA_DIR || (0, path_1.join)(process.cwd(), ".cbrowser");
|
|
5848
|
+
const dir = (0, path_1.join)(baseDir, "cross-browser");
|
|
5849
|
+
if (!(0, fs_1.existsSync)(dir)) {
|
|
5850
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
5851
|
+
}
|
|
5852
|
+
return dir;
|
|
5853
|
+
}
|
|
5854
|
+
/**
|
|
5855
|
+
* Capture screenshot with a specific browser
|
|
5856
|
+
*/
|
|
5857
|
+
async function captureWithBrowser(url, browserType, options = {}) {
|
|
5858
|
+
const startTime = Date.now();
|
|
5859
|
+
const browser = new CBrowser({
|
|
5860
|
+
browser: browserType,
|
|
5861
|
+
viewportWidth: options.viewport?.width || 1920,
|
|
5862
|
+
viewportHeight: options.viewport?.height || 1080,
|
|
5863
|
+
});
|
|
5864
|
+
try {
|
|
5865
|
+
await browser.launch();
|
|
5866
|
+
await browser.navigate(url);
|
|
5867
|
+
// Wait if specified
|
|
5868
|
+
if (options.waitForSelector) {
|
|
5869
|
+
const page = await browser.getPage();
|
|
5870
|
+
await page.waitForSelector(options.waitForSelector, { timeout: 10000 }).catch(() => { });
|
|
5871
|
+
}
|
|
5872
|
+
if (options.waitBeforeCapture) {
|
|
5873
|
+
await new Promise(resolve => setTimeout(resolve, options.waitBeforeCapture));
|
|
5874
|
+
}
|
|
5875
|
+
// Take screenshot
|
|
5876
|
+
const screenshotsPath = getCrossBrowserScreenshotsPath();
|
|
5877
|
+
const filename = `${browserType}-${Date.now()}.png`;
|
|
5878
|
+
const screenshotPath = (0, path_1.join)(screenshotsPath, filename);
|
|
5879
|
+
const page = await browser.getPage();
|
|
5880
|
+
await page.screenshot({ path: screenshotPath, fullPage: false });
|
|
5881
|
+
// Get user agent
|
|
5882
|
+
const userAgent = await page.evaluate(() => navigator.userAgent);
|
|
5883
|
+
const viewport = page.viewportSize() || { width: 1920, height: 1080 };
|
|
5884
|
+
return {
|
|
5885
|
+
browser: browserType,
|
|
5886
|
+
screenshotPath,
|
|
5887
|
+
viewport,
|
|
5888
|
+
userAgent,
|
|
5889
|
+
timestamp: new Date().toISOString(),
|
|
5890
|
+
captureTime: Date.now() - startTime,
|
|
5891
|
+
};
|
|
5892
|
+
}
|
|
5893
|
+
finally {
|
|
5894
|
+
await browser.close();
|
|
5895
|
+
}
|
|
5896
|
+
}
|
|
5897
|
+
/**
|
|
5898
|
+
* Run cross-browser visual test for a single URL
|
|
5899
|
+
*/
|
|
5900
|
+
async function runCrossBrowserTest(url, options = {}) {
|
|
5901
|
+
const startTime = Date.now();
|
|
5902
|
+
const browsers = options.browsers || ["chromium", "firefox", "webkit"];
|
|
5903
|
+
console.log(`\n🌐 Cross-Browser Visual Test`);
|
|
5904
|
+
console.log(` URL: ${url}`);
|
|
5905
|
+
console.log(` Browsers: ${browsers.join(", ")}\n`);
|
|
5906
|
+
// Capture screenshots from each browser
|
|
5907
|
+
const screenshots = [];
|
|
5908
|
+
for (const browserType of browsers) {
|
|
5909
|
+
console.log(` 📸 Capturing ${browserType}...`);
|
|
5910
|
+
try {
|
|
5911
|
+
const screenshot = await captureWithBrowser(url, browserType, options);
|
|
5912
|
+
screenshots.push(screenshot);
|
|
5913
|
+
console.log(` ✅ Captured in ${screenshot.captureTime}ms`);
|
|
5914
|
+
}
|
|
5915
|
+
catch (error) {
|
|
5916
|
+
console.log(` ❌ Failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
5917
|
+
}
|
|
5918
|
+
}
|
|
5919
|
+
if (screenshots.length < 2) {
|
|
5920
|
+
return {
|
|
5921
|
+
url,
|
|
5922
|
+
screenshots,
|
|
5923
|
+
comparisons: [],
|
|
5924
|
+
overallStatus: "major_differences",
|
|
5925
|
+
summary: "Could not capture enough screenshots for comparison",
|
|
5926
|
+
problematicBrowsers: [],
|
|
5927
|
+
duration: Date.now() - startTime,
|
|
5928
|
+
timestamp: new Date().toISOString(),
|
|
5929
|
+
};
|
|
5930
|
+
}
|
|
5931
|
+
// Compare all pairs of browsers
|
|
5932
|
+
const comparisons = [];
|
|
5933
|
+
let hasMinorDifferences = false;
|
|
5934
|
+
let hasMajorDifferences = false;
|
|
5935
|
+
const problematicBrowsers = new Set();
|
|
5936
|
+
console.log(`\n 🔍 Comparing browsers...`);
|
|
5937
|
+
for (let i = 0; i < screenshots.length; i++) {
|
|
5938
|
+
for (let j = i + 1; j < screenshots.length; j++) {
|
|
5939
|
+
const a = screenshots[i];
|
|
5940
|
+
const b = screenshots[j];
|
|
5941
|
+
console.log(` ${a.browser} vs ${b.browser}...`);
|
|
5942
|
+
// Use the existing AI visual analysis
|
|
5943
|
+
const analysis = await analyzeVisualDifferences(a.screenshotPath, b.screenshotPath, { sensitivity: options.sensitivity || "medium" });
|
|
5944
|
+
comparisons.push({
|
|
5945
|
+
browserA: a.browser,
|
|
5946
|
+
browserB: b.browser,
|
|
5947
|
+
analysis,
|
|
5948
|
+
screenshots: {
|
|
5949
|
+
a: a.screenshotPath,
|
|
5950
|
+
b: b.screenshotPath,
|
|
5951
|
+
},
|
|
5952
|
+
});
|
|
5953
|
+
if (analysis.overallStatus === "fail") {
|
|
5954
|
+
hasMajorDifferences = true;
|
|
5955
|
+
problematicBrowsers.add(a.browser);
|
|
5956
|
+
problematicBrowsers.add(b.browser);
|
|
5957
|
+
console.log(` ❌ Major differences (${(analysis.similarityScore * 100).toFixed(1)}%)`);
|
|
5958
|
+
}
|
|
5959
|
+
else if (analysis.overallStatus === "warning") {
|
|
5960
|
+
hasMinorDifferences = true;
|
|
5961
|
+
console.log(` ⚠️ Minor differences (${(analysis.similarityScore * 100).toFixed(1)}%)`);
|
|
5962
|
+
}
|
|
5963
|
+
else {
|
|
5964
|
+
console.log(` ✅ Consistent (${(analysis.similarityScore * 100).toFixed(1)}%)`);
|
|
5965
|
+
}
|
|
5966
|
+
}
|
|
5967
|
+
}
|
|
5968
|
+
const overallStatus = hasMajorDifferences
|
|
5969
|
+
? "major_differences"
|
|
5970
|
+
: hasMinorDifferences
|
|
5971
|
+
? "minor_differences"
|
|
5972
|
+
: "consistent";
|
|
5973
|
+
const summary = overallStatus === "consistent"
|
|
5974
|
+
? "Page renders consistently across all tested browsers"
|
|
5975
|
+
: overallStatus === "minor_differences"
|
|
5976
|
+
? "Minor rendering differences detected between browsers"
|
|
5977
|
+
: "Significant rendering differences detected between browsers";
|
|
5978
|
+
return {
|
|
5979
|
+
url,
|
|
5980
|
+
screenshots,
|
|
5981
|
+
comparisons,
|
|
5982
|
+
overallStatus,
|
|
5983
|
+
summary,
|
|
5984
|
+
problematicBrowsers: Array.from(problematicBrowsers),
|
|
5985
|
+
duration: Date.now() - startTime,
|
|
5986
|
+
timestamp: new Date().toISOString(),
|
|
5987
|
+
};
|
|
5988
|
+
}
|
|
5989
|
+
/**
|
|
5990
|
+
* Run cross-browser test suite
|
|
5991
|
+
*/
|
|
5992
|
+
async function runCrossBrowserSuite(suite) {
|
|
5993
|
+
const startTime = Date.now();
|
|
5994
|
+
const results = [];
|
|
5995
|
+
let consistent = 0;
|
|
5996
|
+
let minorDifferences = 0;
|
|
5997
|
+
let majorDifferences = 0;
|
|
5998
|
+
console.log(`\n🌐 Cross-Browser Visual Test Suite: ${suite.name}`);
|
|
5999
|
+
console.log(` Testing ${suite.urls.length} URL(s)...\n`);
|
|
6000
|
+
for (const url of suite.urls) {
|
|
6001
|
+
const result = await runCrossBrowserTest(url, suite.options);
|
|
6002
|
+
results.push(result);
|
|
6003
|
+
switch (result.overallStatus) {
|
|
6004
|
+
case "consistent":
|
|
6005
|
+
consistent++;
|
|
6006
|
+
break;
|
|
6007
|
+
case "minor_differences":
|
|
6008
|
+
minorDifferences++;
|
|
6009
|
+
break;
|
|
6010
|
+
case "major_differences":
|
|
6011
|
+
majorDifferences++;
|
|
6012
|
+
break;
|
|
6013
|
+
}
|
|
6014
|
+
}
|
|
6015
|
+
return {
|
|
6016
|
+
suite,
|
|
6017
|
+
results,
|
|
6018
|
+
summary: {
|
|
6019
|
+
total: suite.urls.length,
|
|
6020
|
+
consistent,
|
|
6021
|
+
minorDifferences,
|
|
6022
|
+
majorDifferences,
|
|
6023
|
+
},
|
|
6024
|
+
duration: Date.now() - startTime,
|
|
6025
|
+
timestamp: new Date().toISOString(),
|
|
6026
|
+
};
|
|
6027
|
+
}
|
|
6028
|
+
/**
|
|
6029
|
+
* Format cross-browser result as text report
|
|
6030
|
+
*/
|
|
6031
|
+
function formatCrossBrowserReport(result) {
|
|
6032
|
+
const lines = [];
|
|
6033
|
+
lines.push("╔══════════════════════════════════════════════════════════════════════════════╗");
|
|
6034
|
+
lines.push("║ CROSS-BROWSER VISUAL TEST REPORT ║");
|
|
6035
|
+
lines.push("╚══════════════════════════════════════════════════════════════════════════════╝");
|
|
6036
|
+
lines.push("");
|
|
6037
|
+
const statusIcon = {
|
|
6038
|
+
consistent: "✅",
|
|
6039
|
+
minor_differences: "⚠️",
|
|
6040
|
+
major_differences: "❌",
|
|
6041
|
+
}[result.overallStatus];
|
|
6042
|
+
const statusText = {
|
|
6043
|
+
consistent: "CONSISTENT",
|
|
6044
|
+
minor_differences: "MINOR DIFFERENCES",
|
|
6045
|
+
major_differences: "MAJOR DIFFERENCES",
|
|
6046
|
+
}[result.overallStatus];
|
|
6047
|
+
lines.push(`${statusIcon} Status: ${statusText}`);
|
|
6048
|
+
lines.push(`🔗 URL: ${result.url}`);
|
|
6049
|
+
lines.push(`⏱️ Duration: ${(result.duration / 1000).toFixed(2)}s`);
|
|
6050
|
+
lines.push("");
|
|
6051
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6052
|
+
lines.push("📸 BROWSER SCREENSHOTS");
|
|
6053
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6054
|
+
for (const screenshot of result.screenshots) {
|
|
6055
|
+
lines.push(` ${screenshot.browser.toUpperCase()}`);
|
|
6056
|
+
lines.push(` Viewport: ${screenshot.viewport.width}x${screenshot.viewport.height}`);
|
|
6057
|
+
lines.push(` Capture time: ${screenshot.captureTime}ms`);
|
|
6058
|
+
lines.push(` Path: ${screenshot.screenshotPath}`);
|
|
6059
|
+
lines.push("");
|
|
6060
|
+
}
|
|
6061
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6062
|
+
lines.push("🔍 BROWSER COMPARISONS");
|
|
6063
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6064
|
+
for (const comparison of result.comparisons) {
|
|
6065
|
+
const compIcon = {
|
|
6066
|
+
pass: "✅",
|
|
6067
|
+
warning: "⚠️",
|
|
6068
|
+
fail: "❌",
|
|
6069
|
+
}[comparison.analysis.overallStatus];
|
|
6070
|
+
lines.push(` ${comparison.browserA.toUpperCase()} vs ${comparison.browserB.toUpperCase()}: ${compIcon}`);
|
|
6071
|
+
lines.push(` Similarity: ${(comparison.analysis.similarityScore * 100).toFixed(1)}%`);
|
|
6072
|
+
lines.push(` ${comparison.analysis.summary}`);
|
|
6073
|
+
if (comparison.analysis.changes.length > 0) {
|
|
6074
|
+
for (const change of comparison.analysis.changes) {
|
|
6075
|
+
lines.push(` - [${change.severity.toUpperCase()}] ${change.description}`);
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
lines.push("");
|
|
6079
|
+
}
|
|
6080
|
+
if (result.problematicBrowsers.length > 0) {
|
|
6081
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6082
|
+
lines.push("⚠️ BROWSERS WITH ISSUES");
|
|
6083
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6084
|
+
for (const browser of result.problematicBrowsers) {
|
|
6085
|
+
lines.push(` • ${browser}`);
|
|
6086
|
+
}
|
|
6087
|
+
lines.push("");
|
|
6088
|
+
}
|
|
6089
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6090
|
+
lines.push(`📝 SUMMARY: ${result.summary}`);
|
|
6091
|
+
lines.push("───────────────────────────────────────────────────────────────────────────────");
|
|
6092
|
+
return lines.join("\n");
|
|
6093
|
+
}
|
|
6094
|
+
/**
|
|
6095
|
+
* Generate HTML report for cross-browser test suite
|
|
6096
|
+
*/
|
|
6097
|
+
function generateCrossBrowserHtmlReport(suiteResult) {
|
|
6098
|
+
const { suite, results, summary, duration, timestamp } = suiteResult;
|
|
6099
|
+
return `<!DOCTYPE html>
|
|
6100
|
+
<html lang="en">
|
|
6101
|
+
<head>
|
|
6102
|
+
<meta charset="UTF-8">
|
|
6103
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6104
|
+
<title>Cross-Browser Visual Report - ${suite.name}</title>
|
|
6105
|
+
<style>
|
|
6106
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
6107
|
+
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #0f172a; color: #e2e8f0; line-height: 1.6; }
|
|
6108
|
+
.container { max-width: 1400px; margin: 0 auto; padding: 2rem; }
|
|
6109
|
+
h1 { font-size: 2rem; margin-bottom: 0.5rem; }
|
|
6110
|
+
h2 { font-size: 1.25rem; margin-bottom: 1rem; color: #94a3b8; }
|
|
6111
|
+
.header { text-align: center; margin-bottom: 2rem; }
|
|
6112
|
+
.summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; }
|
|
6113
|
+
.stat { background: #1e293b; padding: 1.5rem; border-radius: 0.5rem; text-align: center; }
|
|
6114
|
+
.stat-value { font-size: 2rem; font-weight: bold; }
|
|
6115
|
+
.stat-label { color: #94a3b8; font-size: 0.875rem; }
|
|
6116
|
+
.consistent { color: #22c55e; }
|
|
6117
|
+
.minor { color: #eab308; }
|
|
6118
|
+
.major { color: #ef4444; }
|
|
6119
|
+
.results { display: flex; flex-direction: column; gap: 2rem; }
|
|
6120
|
+
.result-card { background: #1e293b; border-radius: 0.5rem; overflow: hidden; }
|
|
6121
|
+
.result-header { padding: 1rem; border-bottom: 1px solid #334155; display: flex; justify-content: space-between; align-items: center; }
|
|
6122
|
+
.result-body { padding: 1rem; }
|
|
6123
|
+
.screenshots { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
|
|
6124
|
+
.screenshot-card { background: #0f172a; border-radius: 0.25rem; padding: 1rem; text-align: center; }
|
|
6125
|
+
.screenshot-card img { max-width: 100%; border-radius: 0.25rem; margin-top: 0.5rem; }
|
|
6126
|
+
.browser-name { font-weight: bold; text-transform: capitalize; }
|
|
6127
|
+
.comparisons { margin-top: 1rem; }
|
|
6128
|
+
.comparison { padding: 0.75rem; background: #0f172a; border-radius: 0.25rem; margin-bottom: 0.5rem; }
|
|
6129
|
+
.comparison-header { display: flex; justify-content: space-between; align-items: center; }
|
|
6130
|
+
.badge { padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
|
|
6131
|
+
.badge-consistent { background: #166534; color: #22c55e; }
|
|
6132
|
+
.badge-minor { background: #713f12; color: #eab308; }
|
|
6133
|
+
.badge-major { background: #7f1d1d; color: #ef4444; }
|
|
6134
|
+
footer { text-align: center; color: #64748b; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #334155; }
|
|
6135
|
+
</style>
|
|
6136
|
+
</head>
|
|
6137
|
+
<body>
|
|
6138
|
+
<div class="container">
|
|
6139
|
+
<div class="header">
|
|
6140
|
+
<h1>🌐 Cross-Browser Visual Report</h1>
|
|
6141
|
+
<h2>${suite.name}</h2>
|
|
6142
|
+
<p style="color: #64748b;">Generated: ${new Date(timestamp).toLocaleString()}</p>
|
|
6143
|
+
</div>
|
|
6144
|
+
|
|
6145
|
+
<div class="summary">
|
|
6146
|
+
<div class="stat">
|
|
6147
|
+
<div class="stat-value">${summary.total}</div>
|
|
6148
|
+
<div class="stat-label">URLs Tested</div>
|
|
6149
|
+
</div>
|
|
6150
|
+
<div class="stat">
|
|
6151
|
+
<div class="stat-value consistent">${summary.consistent}</div>
|
|
6152
|
+
<div class="stat-label">Consistent</div>
|
|
6153
|
+
</div>
|
|
6154
|
+
<div class="stat">
|
|
6155
|
+
<div class="stat-value minor">${summary.minorDifferences}</div>
|
|
6156
|
+
<div class="stat-label">Minor Differences</div>
|
|
6157
|
+
</div>
|
|
6158
|
+
<div class="stat">
|
|
6159
|
+
<div class="stat-value major">${summary.majorDifferences}</div>
|
|
6160
|
+
<div class="stat-label">Major Differences</div>
|
|
6161
|
+
</div>
|
|
6162
|
+
</div>
|
|
6163
|
+
|
|
6164
|
+
<div class="results">
|
|
6165
|
+
${results.map(result => {
|
|
6166
|
+
const statusClass = result.overallStatus === "consistent" ? "consistent" : result.overallStatus === "minor_differences" ? "minor" : "major";
|
|
6167
|
+
const badgeClass = result.overallStatus === "consistent" ? "badge-consistent" : result.overallStatus === "minor_differences" ? "badge-minor" : "badge-major";
|
|
6168
|
+
const statusText = result.overallStatus === "consistent" ? "Consistent" : result.overallStatus === "minor_differences" ? "Minor Differences" : "Major Differences";
|
|
6169
|
+
return `
|
|
6170
|
+
<div class="result-card">
|
|
6171
|
+
<div class="result-header">
|
|
6172
|
+
<div>
|
|
6173
|
+
<strong>${result.url}</strong>
|
|
6174
|
+
<div style="color: #64748b; font-size: 0.875rem;">${result.summary}</div>
|
|
6175
|
+
</div>
|
|
6176
|
+
<span class="badge ${badgeClass}">${statusText}</span>
|
|
6177
|
+
</div>
|
|
6178
|
+
<div class="result-body">
|
|
6179
|
+
<h3 style="margin-bottom: 1rem; color: #94a3b8;">Screenshots</h3>
|
|
6180
|
+
<div class="screenshots">
|
|
6181
|
+
${result.screenshots.map(s => `
|
|
6182
|
+
<div class="screenshot-card">
|
|
6183
|
+
<div class="browser-name">${s.browser}</div>
|
|
6184
|
+
<div style="color: #64748b; font-size: 0.75rem;">${s.viewport.width}x${s.viewport.height} • ${s.captureTime}ms</div>
|
|
6185
|
+
</div>
|
|
6186
|
+
`).join("")}
|
|
6187
|
+
</div>
|
|
6188
|
+
|
|
6189
|
+
<h3 style="margin: 1rem 0; color: #94a3b8;">Comparisons</h3>
|
|
6190
|
+
<div class="comparisons">
|
|
6191
|
+
${result.comparisons.map(c => {
|
|
6192
|
+
const cBadgeClass = c.analysis.overallStatus === "pass" ? "badge-consistent" : c.analysis.overallStatus === "warning" ? "badge-minor" : "badge-major";
|
|
6193
|
+
return `
|
|
6194
|
+
<div class="comparison">
|
|
6195
|
+
<div class="comparison-header">
|
|
6196
|
+
<span>${c.browserA} vs ${c.browserB}</span>
|
|
6197
|
+
<span class="badge ${cBadgeClass}">${(c.analysis.similarityScore * 100).toFixed(1)}%</span>
|
|
6198
|
+
</div>
|
|
6199
|
+
<p style="color: #94a3b8; font-size: 0.875rem; margin-top: 0.5rem;">${c.analysis.summary}</p>
|
|
6200
|
+
</div>
|
|
6201
|
+
`;
|
|
6202
|
+
}).join("")}
|
|
6203
|
+
</div>
|
|
6204
|
+
</div>
|
|
6205
|
+
</div>
|
|
6206
|
+
`;
|
|
6207
|
+
}).join("")}
|
|
6208
|
+
</div>
|
|
6209
|
+
|
|
6210
|
+
<footer>
|
|
6211
|
+
Generated by CBrowser v7.1.0 | Test completed in ${(duration / 1000).toFixed(1)}s
|
|
5817
6212
|
</footer>
|
|
5818
6213
|
</div>
|
|
5819
6214
|
</body>
|