cbrowser 7.4.6 → 7.4.8
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/README.md +111 -1
- package/dist/cli.js +83 -1
- package/dist/cli.js.map +1 -1
- package/dist/testing/nl-test-suite.d.ts.map +1 -1
- package/dist/testing/nl-test-suite.js +14 -13
- package/dist/testing/nl-test-suite.js.map +1 -1
- package/docs/INSTALL.md +32 -1
- package/examples/remote-mcp.ts +137 -0
- package/examples/smart-automation.ts +5 -2
- package/examples/visual-testing.ts +177 -0
- package/package.json +1 -1
|
@@ -103,21 +103,22 @@ function parseNLInstruction(instruction) {
|
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
// Assert/verify patterns
|
|
106
|
+
// Note: Quotes around values are optional - patterns use ['"]? to match with or without quotes
|
|
106
107
|
const assertPatterns = [
|
|
107
|
-
// Title assertions
|
|
108
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?(?:page\s+)?title\s+(?:contains?|has)\s+['"](.+?)['"]
|
|
109
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?(?:page\s+)?title\s+(?:is|equals?)\s+['"](.+?)['"]
|
|
110
|
-
// URL assertions
|
|
111
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?url\s+(?:contains?|has)\s+['"](.+?)['"]
|
|
112
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?url\s+(?:is|equals?)\s+['"](.+?)['"]
|
|
113
|
-
// Content assertions
|
|
114
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?(?:page\s+)?(?:contains?|has|shows?)\s+['"](.+?)['"]
|
|
115
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?['"](.+?)['"]
|
|
116
|
-
// Element exists
|
|
117
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?['"](.+?)['"]
|
|
118
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?(?:there\s+is\s+)?(?:a|an)\s+['"](.+?)['"]
|
|
108
|
+
// Title assertions (quotes optional)
|
|
109
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:the\s+)?(?:page\s+)?title\s+(?:contains?|has|includes?)\s+['"]?(.+?)['"]?$/i, type: "title", assertType: "contains" },
|
|
110
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:the\s+)?(?:page\s+)?title\s+(?:is|equals?)\s+['"]?(.+?)['"]?$/i, type: "title", assertType: "equals" },
|
|
111
|
+
// URL assertions (quotes optional)
|
|
112
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:the\s+)?url\s+(?:contains?|has|includes?)\s+['"]?(.+?)['"]?$/i, type: "url", assertType: "contains" },
|
|
113
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:the\s+)?url\s+(?:is|equals?)\s+['"]?(.+?)['"]?$/i, type: "url", assertType: "equals" },
|
|
114
|
+
// Content assertions (quotes optional)
|
|
115
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:the\s+)?(?:page\s+)?(?:contains?|has|shows?|includes?)\s+['"]?(.+?)['"]?$/i, type: "content", assertType: "contains" },
|
|
116
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?['"]?(.+?)['"]?\s+(?:is\s+)?(?:visible|displayed|shown|present)$/i, type: "content", assertType: "contains" },
|
|
117
|
+
// Element exists (quotes optional)
|
|
118
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?['"]?(.+?)['"]?\s+exists?$/i, type: "element", assertType: "exists" },
|
|
119
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:there\s+is\s+)?(?:a|an)\s+['"]?(.+?)['"]?$/i, type: "element", assertType: "exists" },
|
|
119
120
|
// Count assertions
|
|
120
|
-
{ pattern: /^(?:verify|assert|check)\s+(?:that\s+)?(?:there\s+are\s+)?(\d+)\s+(.+?)$/i, type: "count", assertType: "count" },
|
|
121
|
+
{ pattern: /^(?:verify|assert|check|ensure)\s+(?:that\s+)?(?:there\s+are\s+)?(\d+)\s+(.+?)$/i, type: "count", assertType: "count" },
|
|
121
122
|
];
|
|
122
123
|
for (const { pattern, type, assertType } of assertPatterns) {
|
|
123
124
|
const match = lower.match(pattern);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nl-test-suite.js","sourceRoot":"","sources":["../../src/testing/nl-test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nl-test-suite.js","sourceRoot":"","sources":["../../src/testing/nl-test-suite.ts"],"names":[],"mappings":"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"}
|
package/docs/INSTALL.md
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
# CBrowser Installation Guide
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Installation Options
|
|
4
|
+
|
|
5
|
+
### Option 1: PAI Skill (Claude Code Users)
|
|
6
|
+
|
|
7
|
+
If you use [Claude Code](https://claude.ai/claude-code) with [PAI (Personal AI Infrastructure)](https://github.com/danielmiessler/Personal_AI_Infrastructure), install CBrowser as a skill:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# One-line installation
|
|
11
|
+
curl -fsSL https://raw.githubusercontent.com/alexandriashai/cbrowser/main/scripts/install-skill.sh | bash
|
|
12
|
+
|
|
13
|
+
# Or via npm CLI
|
|
14
|
+
npx cbrowser install-skill
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
After installation:
|
|
18
|
+
|
|
19
|
+
1. Add to `~/.claude/skills/skill-index.json`:
|
|
20
|
+
```json
|
|
21
|
+
{"CBrowser": "~/.claude/skills/CBrowser/SKILL.md"}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. Install dependencies:
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g cbrowser
|
|
27
|
+
npx playwright install
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
See the [PAI Skill Installation wiki page](https://github.com/alexandriashai/cbrowser/wiki/PAI-Skill-Installation) for full details.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### Option 2: npm Package (Standard)
|
|
4
35
|
|
|
5
36
|
```bash
|
|
6
37
|
# npm
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser v7.4.6 Remote MCP Server Examples
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates:
|
|
5
|
+
* - Starting a remote MCP server
|
|
6
|
+
* - Authentication options (API key, OAuth)
|
|
7
|
+
* - Connecting from claude.ai
|
|
8
|
+
*
|
|
9
|
+
* Run the server: npx cbrowser mcp-remote
|
|
10
|
+
* Or with authentication: MCP_API_KEY=your-key npx cbrowser mcp-remote
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { createServer } from "http";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Example: Start Remote MCP Server Programmatically
|
|
17
|
+
*
|
|
18
|
+
* Note: In most cases, use the CLI:
|
|
19
|
+
* npx cbrowser mcp-remote
|
|
20
|
+
*
|
|
21
|
+
* This example shows programmatic configuration.
|
|
22
|
+
*/
|
|
23
|
+
async function startRemoteMCPServer() {
|
|
24
|
+
console.log("=== Remote MCP Server Configuration ===\n");
|
|
25
|
+
|
|
26
|
+
console.log("Environment Variables:\n");
|
|
27
|
+
|
|
28
|
+
console.log("Basic Configuration:");
|
|
29
|
+
console.log(" PORT=3100 # Server port (default: 3000)");
|
|
30
|
+
console.log(" HOST=127.0.0.1 # Bind address");
|
|
31
|
+
console.log(" MCP_SESSION_MODE=stateless # Session handling\n");
|
|
32
|
+
|
|
33
|
+
console.log("API Key Authentication:");
|
|
34
|
+
console.log(" MCP_API_KEY=your-secret-key # Single API key");
|
|
35
|
+
console.log(" MCP_API_KEYS=key1,key2,key3 # Multiple API keys\n");
|
|
36
|
+
|
|
37
|
+
console.log("Auth0 OAuth (for claude.ai):");
|
|
38
|
+
console.log(" AUTH0_DOMAIN=your-tenant.auth0.com");
|
|
39
|
+
console.log(" AUTH0_AUDIENCE=https://your-server.com/\n");
|
|
40
|
+
|
|
41
|
+
console.log("Start command:");
|
|
42
|
+
console.log(" npx cbrowser mcp-remote\n");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Example: Client Configuration for claude.ai
|
|
47
|
+
*/
|
|
48
|
+
function claudeAISetup() {
|
|
49
|
+
console.log("=== claude.ai Custom Connector Setup ===\n");
|
|
50
|
+
|
|
51
|
+
console.log("Demo Server (rate-limited, no auth):");
|
|
52
|
+
console.log(" URL: https://cbrowser-mcp-demo.wyldfyre.ai/mcp");
|
|
53
|
+
console.log(" Rate limit: 5 requests/minute, burst of 10");
|
|
54
|
+
console.log(" Purpose: Evaluation only\n");
|
|
55
|
+
|
|
56
|
+
console.log("Authenticated Server (full access):");
|
|
57
|
+
console.log(" URL: https://cbrowser-mcp.wyldfyre.ai/mcp");
|
|
58
|
+
console.log(" Auth: Auth0 OAuth 2.1");
|
|
59
|
+
console.log(" Rate limit: None\n");
|
|
60
|
+
|
|
61
|
+
console.log("Setup Steps:");
|
|
62
|
+
console.log(" 1. Go to claude.ai");
|
|
63
|
+
console.log(" 2. Open Settings -> Integrations -> Custom MCP Servers");
|
|
64
|
+
console.log(" 3. Add the server URL");
|
|
65
|
+
console.log(" 4. Complete OAuth login when prompted (for authenticated server)");
|
|
66
|
+
console.log(" 5. You now have 31 browser automation tools!\n");
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Example: API Key Authentication
|
|
71
|
+
*/
|
|
72
|
+
function apiKeyAuth() {
|
|
73
|
+
console.log("=== API Key Authentication ===\n");
|
|
74
|
+
|
|
75
|
+
console.log("Set API key when starting server:");
|
|
76
|
+
console.log(" MCP_API_KEY=your-secret-key npx cbrowser mcp-remote\n");
|
|
77
|
+
|
|
78
|
+
console.log("Client usage (Bearer token - recommended):");
|
|
79
|
+
console.log(' curl -H "Authorization: Bearer your-api-key" https://server/mcp\n');
|
|
80
|
+
|
|
81
|
+
console.log("Client usage (X-API-Key header):");
|
|
82
|
+
console.log(' curl -H "X-API-Key: your-api-key" https://server/mcp\n');
|
|
83
|
+
|
|
84
|
+
console.log("Generate a secure key:");
|
|
85
|
+
console.log(" openssl rand -hex 32\n");
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Example: OAuth Protected Resource Metadata
|
|
90
|
+
*/
|
|
91
|
+
function oauthMetadata() {
|
|
92
|
+
console.log("=== OAuth Protected Resource Metadata ===\n");
|
|
93
|
+
|
|
94
|
+
console.log("Endpoint: /.well-known/oauth-protected-resource\n");
|
|
95
|
+
|
|
96
|
+
console.log("Response example:");
|
|
97
|
+
const metadata = {
|
|
98
|
+
resource: "https://cbrowser-mcp.wyldfyre.ai",
|
|
99
|
+
authorization_servers: ["https://your-tenant.auth0.com"],
|
|
100
|
+
bearer_methods_supported: ["header"],
|
|
101
|
+
scopes_supported: ["openid", "profile", "cbrowser:read", "cbrowser:write"],
|
|
102
|
+
};
|
|
103
|
+
console.log(JSON.stringify(metadata, null, 2));
|
|
104
|
+
console.log();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Example: Health Check
|
|
109
|
+
*/
|
|
110
|
+
function healthCheck() {
|
|
111
|
+
console.log("=== Health Check Endpoint ===\n");
|
|
112
|
+
|
|
113
|
+
console.log("Endpoint: /health\n");
|
|
114
|
+
|
|
115
|
+
console.log("Response example:");
|
|
116
|
+
const health = {
|
|
117
|
+
status: "ok",
|
|
118
|
+
version: "7.4.6",
|
|
119
|
+
auth: true,
|
|
120
|
+
auth_methods: {
|
|
121
|
+
api_key: true,
|
|
122
|
+
oauth: true,
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
console.log(JSON.stringify(health, null, 2));
|
|
126
|
+
console.log();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
async function main() {
|
|
130
|
+
await startRemoteMCPServer();
|
|
131
|
+
claudeAISetup();
|
|
132
|
+
apiKeyAuth();
|
|
133
|
+
oauthMetadata();
|
|
134
|
+
healthCheck();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
main().catch(console.error);
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CBrowser
|
|
2
|
+
* CBrowser v7.x Smart Automation Examples
|
|
3
3
|
*
|
|
4
4
|
* Demonstrates:
|
|
5
5
|
* - Smart click with auto-retry
|
|
6
6
|
* - Natural language assertions
|
|
7
7
|
* - Self-healing selector cache
|
|
8
8
|
* - AI test generation
|
|
9
|
+
* - Modular imports
|
|
9
10
|
*
|
|
10
11
|
* Run with: npx ts-node examples/smart-automation.ts
|
|
12
|
+
* Or: bun run examples/smart-automation.ts
|
|
11
13
|
*/
|
|
12
14
|
|
|
13
|
-
import { CBrowser } from "
|
|
15
|
+
import { CBrowser } from "cbrowser";
|
|
16
|
+
// For local development: import { CBrowser } from "../src/index.js";
|
|
14
17
|
|
|
15
18
|
async function smartClickExample() {
|
|
16
19
|
console.log("=== Smart Click with Auto-Retry ===\n");
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser v7.x Visual Testing Examples
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates:
|
|
5
|
+
* - AI Visual Regression (v7.0)
|
|
6
|
+
* - Cross-Browser Testing (v7.1)
|
|
7
|
+
* - Responsive Testing (v7.2)
|
|
8
|
+
* - A/B Comparison (v7.3)
|
|
9
|
+
*
|
|
10
|
+
* Run with: npx ts-node examples/visual-testing.ts
|
|
11
|
+
* Or: bun run examples/visual-testing.ts
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { CBrowser } from "cbrowser";
|
|
15
|
+
// Modular imports for tree-shaking:
|
|
16
|
+
// import { runVisualRegression, runCrossBrowserTest, runResponsiveTest, runABComparison } from "cbrowser/visual";
|
|
17
|
+
|
|
18
|
+
async function visualRegressionExample() {
|
|
19
|
+
console.log("=== AI Visual Regression (v7.0) ===\n");
|
|
20
|
+
|
|
21
|
+
const browser = new CBrowser({ headless: true });
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
// Capture a baseline
|
|
25
|
+
const baseline = await browser.captureVisualBaseline(
|
|
26
|
+
"https://example.com",
|
|
27
|
+
"homepage"
|
|
28
|
+
);
|
|
29
|
+
console.log(`Baseline captured: ${baseline.name}`);
|
|
30
|
+
console.log(`Screenshot: ${baseline.screenshotPath}`);
|
|
31
|
+
console.log(`Timestamp: ${baseline.timestamp}`);
|
|
32
|
+
|
|
33
|
+
// Later, compare against baseline
|
|
34
|
+
const result = await browser.runVisualRegression(
|
|
35
|
+
"https://example.com",
|
|
36
|
+
"homepage"
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
console.log(`\nComparison result:`);
|
|
40
|
+
console.log(` Match: ${result.match}`);
|
|
41
|
+
console.log(` Similarity: ${(result.similarity * 100).toFixed(1)}%`);
|
|
42
|
+
console.log(` AI Analysis: ${result.aiAnalysis}`);
|
|
43
|
+
|
|
44
|
+
if (result.differences.length > 0) {
|
|
45
|
+
console.log(`\nDifferences found:`);
|
|
46
|
+
for (const diff of result.differences) {
|
|
47
|
+
console.log(` - ${diff.type}: ${diff.description}`);
|
|
48
|
+
console.log(` Severity: ${diff.severity}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
await browser.close();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function crossBrowserExample() {
|
|
57
|
+
console.log("\n=== Cross-Browser Testing (v7.1) ===\n");
|
|
58
|
+
|
|
59
|
+
const browser = new CBrowser({ headless: true });
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
// Compare rendering across browsers
|
|
63
|
+
const result = await browser.runCrossBrowserTest("https://example.com", {
|
|
64
|
+
browsers: ["chromium", "firefox", "webkit"],
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
console.log(`URL tested: ${result.url}`);
|
|
68
|
+
console.log(`Browsers: ${result.browsers.join(", ")}`);
|
|
69
|
+
console.log(`Overall match: ${result.overallMatch}`);
|
|
70
|
+
|
|
71
|
+
console.log(`\nBrowser comparisons:`);
|
|
72
|
+
for (const comparison of result.comparisons) {
|
|
73
|
+
console.log(` ${comparison.browserA} vs ${comparison.browserB}:`);
|
|
74
|
+
console.log(` Similarity: ${(comparison.similarity * 100).toFixed(1)}%`);
|
|
75
|
+
console.log(` Differences: ${comparison.differences.length}`);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (result.criticalDifferences.length > 0) {
|
|
79
|
+
console.log(`\nCritical differences:`);
|
|
80
|
+
for (const diff of result.criticalDifferences) {
|
|
81
|
+
console.log(` - ${diff.browser}: ${diff.description}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
} finally {
|
|
85
|
+
await browser.close();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async function responsiveExample() {
|
|
90
|
+
console.log("\n=== Responsive Testing (v7.2) ===\n");
|
|
91
|
+
|
|
92
|
+
const browser = new CBrowser({ headless: true });
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
// Test across viewport sizes
|
|
96
|
+
const result = await browser.runResponsiveTest("https://example.com", {
|
|
97
|
+
viewports: ["mobile", "tablet", "desktop"],
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
console.log(`URL tested: ${result.url}`);
|
|
101
|
+
console.log(`Viewports tested: ${result.viewports.length}`);
|
|
102
|
+
|
|
103
|
+
console.log(`\nViewport results:`);
|
|
104
|
+
for (const viewport of result.viewports) {
|
|
105
|
+
console.log(` ${viewport.name} (${viewport.width}x${viewport.height}):`);
|
|
106
|
+
console.log(` Layout: ${viewport.layoutType}`);
|
|
107
|
+
console.log(` Issues: ${viewport.issues.length}`);
|
|
108
|
+
|
|
109
|
+
if (viewport.issues.length > 0) {
|
|
110
|
+
for (const issue of viewport.issues) {
|
|
111
|
+
console.log(` - ${issue.type}: ${issue.description}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Breakpoint analysis
|
|
117
|
+
if (result.breakpointIssues.length > 0) {
|
|
118
|
+
console.log(`\nBreakpoint issues:`);
|
|
119
|
+
for (const issue of result.breakpointIssues) {
|
|
120
|
+
console.log(` At ${issue.breakpoint}px: ${issue.description}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
} finally {
|
|
124
|
+
await browser.close();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
async function abComparisonExample() {
|
|
129
|
+
console.log("\n=== A/B Comparison (v7.3) ===\n");
|
|
130
|
+
|
|
131
|
+
const browser = new CBrowser({ headless: true });
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
// Compare two URLs (staging vs production, old vs new design)
|
|
135
|
+
const result = await browser.runABComparison(
|
|
136
|
+
"https://staging.example.com",
|
|
137
|
+
"https://example.com",
|
|
138
|
+
{
|
|
139
|
+
labelA: "Staging",
|
|
140
|
+
labelB: "Production",
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
console.log(`Comparison: ${result.labelA} vs ${result.labelB}`);
|
|
145
|
+
console.log(`Overall similarity: ${(result.similarity * 100).toFixed(1)}%`);
|
|
146
|
+
console.log(`Match: ${result.match}`);
|
|
147
|
+
|
|
148
|
+
console.log(`\nDifferences:`);
|
|
149
|
+
for (const diff of result.differences) {
|
|
150
|
+
console.log(` - ${diff.category}: ${diff.description}`);
|
|
151
|
+
console.log(` Severity: ${diff.severity}`);
|
|
152
|
+
console.log(` Location: ${diff.location}`);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// AI summary
|
|
156
|
+
console.log(`\nAI Summary:`);
|
|
157
|
+
console.log(` ${result.aiSummary}`);
|
|
158
|
+
|
|
159
|
+
if (result.recommendations.length > 0) {
|
|
160
|
+
console.log(`\nRecommendations:`);
|
|
161
|
+
for (const rec of result.recommendations) {
|
|
162
|
+
console.log(` - ${rec}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
} finally {
|
|
166
|
+
await browser.close();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
async function main() {
|
|
171
|
+
await visualRegressionExample();
|
|
172
|
+
await crossBrowserExample();
|
|
173
|
+
await responsiveExample();
|
|
174
|
+
await abComparisonExample();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
main().catch(console.error);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cbrowser",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.8",
|
|
4
4
|
"description": "AI-powered browser automation with constitutional safety, AI visual regression, persona testing, and natural language test suites. Modular architecture for visual, testing, analysis, and performance modules.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|