@cotestdev/ai-runner 0.0.2 → 0.0.4
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/ai-runner/src/runner.d.ts +1 -1
- package/dist/ai-runner/src/runner.d.ts.map +1 -1
- package/dist/ai-runner/src/runner.js +6 -1
- package/dist/ai-runner/src/runner.js.map +1 -1
- package/package.json +1 -1
- package/src/runner.ts +6 -1
- package/tests/agent/test-heal-agent.spec.ts +40 -57
- package/dist/agents/heal-agent.d.ts +0 -30
- package/dist/agents/heal-agent.d.ts.map +0 -1
- package/dist/agents/heal-agent.js +0 -76
- package/dist/agents/heal-agent.js.map +0 -1
- package/dist/agents/healer.d.ts +0 -73
- package/dist/agents/healer.d.ts.map +0 -1
- package/dist/agents/healer.js +0 -538
- package/dist/agents/healer.js.map +0 -1
- package/dist/agents/tools/form.d.ts +0 -22
- package/dist/agents/tools/form.d.ts.map +0 -1
- package/dist/agents/tools/form.js +0 -134
- package/dist/agents/tools/form.js.map +0 -1
- package/dist/agents/tools/index.d.ts +0 -13
- package/dist/agents/tools/index.d.ts.map +0 -1
- package/dist/agents/tools/index.js +0 -33
- package/dist/agents/tools/index.js.map +0 -1
- package/dist/agents/tools/navigate.d.ts +0 -22
- package/dist/agents/tools/navigate.d.ts.map +0 -1
- package/dist/agents/tools/navigate.js +0 -74
- package/dist/agents/tools/navigate.js.map +0 -1
- package/dist/agents/tools/snapshot.d.ts +0 -22
- package/dist/agents/tools/snapshot.d.ts.map +0 -1
- package/dist/agents/tools/snapshot.js +0 -110
- package/dist/agents/tools/snapshot.js.map +0 -1
- package/dist/agents/tools/verify.d.ts +0 -34
- package/dist/agents/tools/verify.d.ts.map +0 -1
- package/dist/agents/tools/verify.js +0 -169
- package/dist/agents/tools/verify.js.map +0 -1
- package/dist/agents/tools/wait.d.ts +0 -22
- package/dist/agents/tools/wait.d.ts.map +0 -1
- package/dist/agents/tools/wait.js +0 -104
- package/dist/agents/tools/wait.js.map +0 -1
- package/dist/agents/types.d.ts +0 -51
- package/dist/agents/types.d.ts.map +0 -1
- package/dist/agents/types.js +0 -6
- package/dist/agents/types.js.map +0 -1
- package/dist/ai-runner/src/examples/test-final.d.ts +0 -6
- package/dist/ai-runner/src/examples/test-final.d.ts.map +0 -1
- package/dist/ai-runner/src/examples/test-final.js +0 -73
- package/dist/ai-runner/src/examples/test-final.js.map +0 -1
- package/dist/ai-runner/src/examples/test-simple-tools.d.ts +0 -6
- package/dist/ai-runner/src/examples/test-simple-tools.d.ts.map +0 -1
- package/dist/ai-runner/src/examples/test-simple-tools.js +0 -149
- package/dist/ai-runner/src/examples/test-simple-tools.js.map +0 -1
- package/dist/ai-runner/src/examples/test-working.d.ts +0 -5
- package/dist/ai-runner/src/examples/test-working.d.ts.map +0 -1
- package/dist/ai-runner/src/examples/test-working.js +0 -43
- package/dist/ai-runner/src/examples/test-working.js.map +0 -1
- package/dist/ai-runner/src/examples/v-test-backend-adapter.d.ts +0 -15
- package/dist/ai-runner/src/examples/v-test-backend-adapter.d.ts.map +0 -1
- package/dist/ai-runner/src/examples/v-test-backend-adapter.js +0 -240
- package/dist/ai-runner/src/examples/v-test-backend-adapter.js.map +0 -1
- package/dist/core/runner.d.ts +0 -194
- package/dist/core/runner.d.ts.map +0 -1
- package/dist/core/runner.js +0 -650
- package/dist/core/runner.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/types/external.d.ts +0 -6
- package/dist/types/external.d.ts.map +0 -1
- package/dist/types/external.js +0 -7
- package/dist/types/external.js.map +0 -1
- package/dist/types/index.d.ts +0 -153
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -26
- package/dist/types/index.js.map +0 -1
- package/docs/PLAYWRIGHT_MCP_ADAPTER.md +0 -132
- package/docs/SCHEMA_EXTRACTION.md +0 -224
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/agents/tools/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 等待工具 - Wait
|
|
3
|
-
*/
|
|
4
|
-
import { DynamicTool } from '@langchain/core/tools';
|
|
5
|
-
import type { Page } from 'playwright';
|
|
6
|
-
/**
|
|
7
|
-
* 创建等待时间工具
|
|
8
|
-
*/
|
|
9
|
-
export declare function createWaitForTimeTool(page: Page): DynamicTool;
|
|
10
|
-
/**
|
|
11
|
-
* 创建等待元素工具
|
|
12
|
-
*/
|
|
13
|
-
export declare function createWaitForSelectorTool(page: Page): DynamicTool;
|
|
14
|
-
/**
|
|
15
|
-
* 创建等待URL工具
|
|
16
|
-
*/
|
|
17
|
-
export declare function createWaitForURLTool(page: Page): DynamicTool;
|
|
18
|
-
/**
|
|
19
|
-
* 等待工具集
|
|
20
|
-
*/
|
|
21
|
-
export declare const waitTools: (page: Page) => DynamicTool[];
|
|
22
|
-
//# sourceMappingURL=wait.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/agents/tools/wait.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAiB7D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CA2CjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAa5D;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,KAAG,WAAW,EAIjD,CAAC"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 等待工具 - Wait
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.waitTools = void 0;
|
|
7
|
-
exports.createWaitForTimeTool = createWaitForTimeTool;
|
|
8
|
-
exports.createWaitForSelectorTool = createWaitForSelectorTool;
|
|
9
|
-
exports.createWaitForURLTool = createWaitForURLTool;
|
|
10
|
-
const tools_1 = require("@langchain/core/tools");
|
|
11
|
-
/**
|
|
12
|
-
* 创建等待时间工具
|
|
13
|
-
*/
|
|
14
|
-
function createWaitForTimeTool(page) {
|
|
15
|
-
return new tools_1.DynamicTool({
|
|
16
|
-
name: 'browser_wait_for_time',
|
|
17
|
-
description: 'Wait for a specified amount of time. Input should be the time in milliseconds as a number.',
|
|
18
|
-
func: async (input) => {
|
|
19
|
-
try {
|
|
20
|
-
const time = parseInt(input, 10);
|
|
21
|
-
if (isNaN(time)) {
|
|
22
|
-
throw new Error('Input must be a number representing milliseconds');
|
|
23
|
-
}
|
|
24
|
-
await page.waitForTimeout(time);
|
|
25
|
-
return `Waited for ${time}ms`;
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
throw new Error(`Failed to wait: ${error.message}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 创建等待元素工具
|
|
35
|
-
*/
|
|
36
|
-
function createWaitForSelectorTool(page) {
|
|
37
|
-
return new tools_1.DynamicTool({
|
|
38
|
-
name: 'browser_wait_for_selector',
|
|
39
|
-
description: 'Wait for an element to appear. Input should be a CSS selector or text that identifies the element. You can optionally specify timeout in milliseconds like: "selector, timeout=5000".',
|
|
40
|
-
func: async (input) => {
|
|
41
|
-
try {
|
|
42
|
-
// 解析输入(支持可选的 timeout 参数)
|
|
43
|
-
let selector = input;
|
|
44
|
-
let timeout = 30000;
|
|
45
|
-
const timeoutMatch = input.match(/timeout=(\d+)/);
|
|
46
|
-
if (timeoutMatch) {
|
|
47
|
-
timeout = parseInt(timeoutMatch[1], 10);
|
|
48
|
-
selector = input.replace(/,?\s*timeout=\d+/, '').trim();
|
|
49
|
-
}
|
|
50
|
-
// 尝试多个选择器
|
|
51
|
-
const selectors = selector.split(',').map(s => s.trim());
|
|
52
|
-
for (const sel of selectors) {
|
|
53
|
-
try {
|
|
54
|
-
// 先尝试作为文本选择器
|
|
55
|
-
const locator = page.getByText(sel);
|
|
56
|
-
const count = await locator.count();
|
|
57
|
-
if (count > 0) {
|
|
58
|
-
await locator.waitFor({ state: 'visible', timeout });
|
|
59
|
-
return `Element with text "${sel}" became visible`;
|
|
60
|
-
}
|
|
61
|
-
// 再尝试作为 CSS 选择器
|
|
62
|
-
await page.waitForSelector(sel, { state: 'visible', timeout });
|
|
63
|
-
return `Element "${sel}" became visible`;
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
throw new Error(`No element found matching: ${selector}`);
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
throw new Error(`Failed to wait for selector: ${error.message}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* 创建等待URL工具
|
|
79
|
-
*/
|
|
80
|
-
function createWaitForURLTool(page) {
|
|
81
|
-
return new tools_1.DynamicTool({
|
|
82
|
-
name: 'browser_wait_for_url',
|
|
83
|
-
description: 'Wait for the URL to match a pattern. Input should be a URL pattern (string, glob, or regex).',
|
|
84
|
-
func: async (input) => {
|
|
85
|
-
try {
|
|
86
|
-
await page.waitForURL(input, { timeout: 30000 });
|
|
87
|
-
return `URL matched: ${input}`;
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
throw new Error(`Failed to wait for URL: ${error.message}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* 等待工具集
|
|
97
|
-
*/
|
|
98
|
-
const waitTools = (page) => [
|
|
99
|
-
createWaitForTimeTool(page),
|
|
100
|
-
createWaitForSelectorTool(page),
|
|
101
|
-
createWaitForURLTool(page),
|
|
102
|
-
];
|
|
103
|
-
exports.waitTools = waitTools;
|
|
104
|
-
//# sourceMappingURL=wait.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/agents/tools/wait.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/types.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 自愈 Agent 类型定义
|
|
3
|
-
*/
|
|
4
|
-
import type { ModelConfig } from '../types/external';
|
|
5
|
-
import type { ReActStep } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* 自愈 Agent 状态
|
|
8
|
-
*/
|
|
9
|
-
export interface HealAgentState {
|
|
10
|
-
objective: string;
|
|
11
|
-
error: string;
|
|
12
|
-
stackTrace?: string;
|
|
13
|
-
originalCode: string;
|
|
14
|
-
context: {
|
|
15
|
-
page: any;
|
|
16
|
-
context?: any;
|
|
17
|
-
};
|
|
18
|
-
variables?: Record<string, any>;
|
|
19
|
-
maxSteps?: number;
|
|
20
|
-
debugMode?: boolean;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Agent 配置
|
|
24
|
-
*/
|
|
25
|
-
export interface HealAgentConfig {
|
|
26
|
-
model?: ModelConfig;
|
|
27
|
-
maxSteps?: number;
|
|
28
|
-
debugMode?: boolean;
|
|
29
|
-
setVariable?: (name: string, value: any) => void;
|
|
30
|
-
getAllVariables?: () => Record<string, any>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Agent 执行结果
|
|
34
|
-
*/
|
|
35
|
-
export interface HealAgentResult {
|
|
36
|
-
success: boolean;
|
|
37
|
-
reasoning?: string;
|
|
38
|
-
errorMessage?: string;
|
|
39
|
-
steps?: number;
|
|
40
|
-
updatedVariables?: Record<string, any>;
|
|
41
|
-
reactSteps?: ReActStep[];
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* MCP 工具定义
|
|
45
|
-
*/
|
|
46
|
-
export interface MCPTool {
|
|
47
|
-
name: string;
|
|
48
|
-
description: string;
|
|
49
|
-
inputSchema: Record<string, unknown>;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAE7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAGrB,OAAO,EAAE;QACP,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;IAGF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAGhC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7C;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC"}
|
package/dist/agents/types.js
DELETED
package/dist/agents/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-final.d.ts","sourceRoot":"","sources":["../../../../src/examples/test-final.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,iBAAe,kBAAkB,kBAoEhC;AAMD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 最终版测试 - 测试 browser_backend_adapter 的核心能力
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.testBackendAdapter = testBackendAdapter;
|
|
7
|
-
const playwright_1 = require("playwright");
|
|
8
|
-
const playwright_backend_adapter_1 = require("../agents/tools/playwright-backend-adapter");
|
|
9
|
-
async function testBackendAdapter() {
|
|
10
|
-
console.log('\n========================================');
|
|
11
|
-
console.log('测试 Playwright Backend 工具能力');
|
|
12
|
-
console.log('========================================\n');
|
|
13
|
-
const browser = await playwright_1.chromium.launch({ headless: true });
|
|
14
|
-
const context = await browser.newContext();
|
|
15
|
-
try {
|
|
16
|
-
console.log('1. 加载工具');
|
|
17
|
-
const tools = await (0, playwright_backend_adapter_1.getPlaywrightBackendToolsFromContext)(context);
|
|
18
|
-
console.log(`✓ 成功加载 ${tools.length} 个工具\n`);
|
|
19
|
-
// 导航
|
|
20
|
-
const navigate = tools.find((t) => t.name === 'browser_navigate');
|
|
21
|
-
console.log('2. 测试导航');
|
|
22
|
-
await navigate.func({ url: 'https://example.com' });
|
|
23
|
-
console.log('✓ 导航成功\n');
|
|
24
|
-
// 快照
|
|
25
|
-
const snapshot = tools.find((t) => t.name === 'browser_snapshot');
|
|
26
|
-
console.log('3. 测试页面快照');
|
|
27
|
-
const snapResult = await snapshot.func({});
|
|
28
|
-
console.log('✓ 快照成功 (长度:', JSON.stringify(snapResult).length, ')\n');
|
|
29
|
-
// 执行 JS
|
|
30
|
-
const evaluate = tools.find((t) => t.name === 'browser_evaluate');
|
|
31
|
-
console.log('4. 测试 JavaScript 执行');
|
|
32
|
-
const evalResult = await evaluate.func({ expression: 'document.title' });
|
|
33
|
-
console.log('✓ 页面标题:', evalResult, '\n');
|
|
34
|
-
// 验证文本
|
|
35
|
-
const verify = tools.find((t) => t.name === 'browser_verify_text_visible');
|
|
36
|
-
console.log('5. 测试文本验证');
|
|
37
|
-
const verifyResult = await verify.func({ text: 'Example Domain' });
|
|
38
|
-
console.log('✓ 验证结果:', JSON.stringify(verifyResult).substring(0, 100), '...\n');
|
|
39
|
-
// 标签页
|
|
40
|
-
const tabs = tools.find((t) => t.name === 'browser_tabs');
|
|
41
|
-
console.log('6. 测试标签页管理');
|
|
42
|
-
const tabsResult = await tabs.func({ action: 'list' });
|
|
43
|
-
console.log('✓ 标签页结果:', typeof tabsResult === 'string' ? tabsResult.substring(0, 100) : JSON.stringify(tabsResult).substring(0, 100), '...\n');
|
|
44
|
-
// 等待
|
|
45
|
-
const wait = tools.find((t) => t.name === 'browser_wait_for');
|
|
46
|
-
console.log('7. 测试等待');
|
|
47
|
-
await wait.func({ time: 500 });
|
|
48
|
-
console.log('✓ 等待完成\n');
|
|
49
|
-
console.log('========================================');
|
|
50
|
-
console.log('✓ 所有测试通过!');
|
|
51
|
-
console.log('========================================');
|
|
52
|
-
console.log('\n成功测试的工具:');
|
|
53
|
-
console.log(' ✓ browser_navigate');
|
|
54
|
-
console.log(' ✓ browser_snapshot');
|
|
55
|
-
console.log(' ✓ browser_evaluate');
|
|
56
|
-
console.log(' ✓ browser_verify_text_visible');
|
|
57
|
-
console.log(' ✓ browser_tabs');
|
|
58
|
-
console.log(' ✓ browser_wait_for');
|
|
59
|
-
console.log('\nBackend 方案工作正常!\n');
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.error('✗ 测试失败:', error);
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
finally {
|
|
66
|
-
await context.close();
|
|
67
|
-
await browser.close();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (require.main === module) {
|
|
71
|
-
testBackendAdapter().catch(console.error);
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=test-final.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-final.js","sourceRoot":"","sources":["../../../../src/examples/test-final.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-simple-tools.d.ts","sourceRoot":"","sources":["../../../../src/examples/test-simple-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,iBAAe,kBAAkB,kBAmJhC;AAMD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 简化版测试 - 测试核心工具能力
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.testBackendAdapter = testBackendAdapter;
|
|
7
|
-
const playwright_1 = require("playwright");
|
|
8
|
-
const playwright_backend_adapter_1 = require("../agents/tools/playwright-backend-adapter");
|
|
9
|
-
async function testBackendAdapter() {
|
|
10
|
-
console.log('\n========================================');
|
|
11
|
-
console.log('测试 Playwright Backend 核心工具能力');
|
|
12
|
-
console.log('========================================\n');
|
|
13
|
-
const browser = await playwright_1.chromium.launch({ headless: true });
|
|
14
|
-
const context = await browser.newContext();
|
|
15
|
-
try {
|
|
16
|
-
console.log('1. 创建 BrowserContext 并加载工具');
|
|
17
|
-
const tools = await (0, playwright_backend_adapter_1.getPlaywrightBackendToolsFromContext)(context);
|
|
18
|
-
console.log(`✓ 成功加载 ${tools.length} 个工具\n`);
|
|
19
|
-
// 导航到测试页面
|
|
20
|
-
const navigateTool = tools.find((t) => t.name === 'browser_navigate');
|
|
21
|
-
await navigateTool?.func({ url: 'https://www.google.com/' });
|
|
22
|
-
// 测试 1: browser_snapshot
|
|
23
|
-
console.log('========================================');
|
|
24
|
-
console.log('测试 1: 页面快照');
|
|
25
|
-
console.log('========================================');
|
|
26
|
-
const snapshotTool = tools.find((t) => t.name === 'browser_snapshot');
|
|
27
|
-
if (snapshotTool) {
|
|
28
|
-
const result = await snapshotTool.func({});
|
|
29
|
-
console.log('✓ 快照结果:', typeof result === 'string' ? result.substring(0, 300) : JSON.stringify(result).substring(0, 300), '...\n');
|
|
30
|
-
}
|
|
31
|
-
// 测试 2: browser_click
|
|
32
|
-
console.log('========================================');
|
|
33
|
-
console.log('测试 2: 点击元素');
|
|
34
|
-
console.log('========================================');
|
|
35
|
-
const clickTool = tools.find((t) => t.name === 'browser_click');
|
|
36
|
-
if (clickTool) {
|
|
37
|
-
try {
|
|
38
|
-
// browser_click 需要先获取页面快照中的元素引用
|
|
39
|
-
const snapResult = await snapshotTool?.func({});
|
|
40
|
-
// const snapData = typeof snapResult === 'string' ? JSON.parse(snapResult) : snapResult;
|
|
41
|
-
// 从快照中查找第一个链接的引用
|
|
42
|
-
const firstLinkRef = 'e31';
|
|
43
|
-
if (firstLinkRef) {
|
|
44
|
-
const result = await clickTool.func({
|
|
45
|
-
ref: firstLinkRef,
|
|
46
|
-
element: 'First link' // 可选字段
|
|
47
|
-
});
|
|
48
|
-
console.log('✓ 点击结果:', typeof result === 'string' ? result.substring(0, 200) : JSON.stringify(result).substring(0, 200), '...\n');
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
console.log('✓ 未找到可点击的元素引用\n');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
console.log('✓ 点击出错(可能是正常的):', err.message.substring(0, 100), '\n');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// 测试 3: browser_evaluate
|
|
59
|
-
console.log('========================================');
|
|
60
|
-
console.log('测试 3: 执行 JavaScript');
|
|
61
|
-
console.log('========================================');
|
|
62
|
-
const evaluateTool = tools.find((t) => t.name === 'browser_evaluate');
|
|
63
|
-
if (evaluateTool) {
|
|
64
|
-
const result = await evaluateTool.func({
|
|
65
|
-
expression: 'document.title'
|
|
66
|
-
});
|
|
67
|
-
console.log('✓ 执行 JS 结果:', result, '\n');
|
|
68
|
-
}
|
|
69
|
-
// 测试 4: browser_verify_text_visible
|
|
70
|
-
console.log('========================================');
|
|
71
|
-
console.log('测试 4: 验证文本可见');
|
|
72
|
-
console.log('========================================');
|
|
73
|
-
const verifyTextTool = tools.find((t) => t.name === 'browser_verify_text_visible');
|
|
74
|
-
if (verifyTextTool) {
|
|
75
|
-
const result = await verifyTextTool.func({
|
|
76
|
-
text: 'More information',
|
|
77
|
-
state: 'visible'
|
|
78
|
-
});
|
|
79
|
-
console.log('✓ 验证文本结果:', typeof result === 'string' ? result.substring(0, 200) : JSON.stringify(result).substring(0, 200), '...\n');
|
|
80
|
-
}
|
|
81
|
-
// 测试 5: browser_tabs
|
|
82
|
-
console.log('========================================');
|
|
83
|
-
console.log('测试 5: 标签页管理');
|
|
84
|
-
console.log('========================================');
|
|
85
|
-
const tabsTool = tools.find((t) => t.name === 'browser_tabs');
|
|
86
|
-
if (tabsTool) {
|
|
87
|
-
const result = await tabsTool.func({ action: 'list' });
|
|
88
|
-
console.log('✓ 列出标签页:', typeof result === 'string' ? result.substring(0, 200) : JSON.stringify(result).substring(0, 200), '...\n');
|
|
89
|
-
}
|
|
90
|
-
// 测试 6: browser_take_screenshot
|
|
91
|
-
console.log('========================================');
|
|
92
|
-
console.log('测试 6: 截图');
|
|
93
|
-
console.log('========================================');
|
|
94
|
-
const screenshotTool = tools.find((t) => t.name === 'browser_take_screenshot');
|
|
95
|
-
if (screenshotTool) {
|
|
96
|
-
const result = await screenshotTool.func({});
|
|
97
|
-
console.log('✓ 截图完成:', typeof result === 'string' ? result.substring(0, 150) : JSON.stringify(result).substring(0, 150), '...\n');
|
|
98
|
-
}
|
|
99
|
-
// 测试 7: browser_type
|
|
100
|
-
console.log('========================================');
|
|
101
|
-
console.log('测试 7: 输入文本');
|
|
102
|
-
console.log('========================================');
|
|
103
|
-
const typeTool = tools.find((t) => t.name === 'browser_type');
|
|
104
|
-
if (typeTool) {
|
|
105
|
-
const result = await typeTool.func({
|
|
106
|
-
selector: 'h1',
|
|
107
|
-
text: 'Modified Text'
|
|
108
|
-
});
|
|
109
|
-
console.log('✓ 输入结果:', typeof result === 'string' ? result.substring(0, 200) : JSON.stringify(result).substring(0, 200), '...\n');
|
|
110
|
-
}
|
|
111
|
-
// 测试 8: browser_wait_for
|
|
112
|
-
console.log('========================================');
|
|
113
|
-
console.log('测试 8: 等待');
|
|
114
|
-
console.log('========================================');
|
|
115
|
-
const waitForTool = tools.find((t) => t.name === 'browser_wait_for');
|
|
116
|
-
if (waitForTool) {
|
|
117
|
-
const startTime = Date.now();
|
|
118
|
-
const result = await waitForTool.func({ time: 500 });
|
|
119
|
-
const duration = Date.now() - startTime;
|
|
120
|
-
console.log(`✓ 等待完成 (${duration}ms)\n`);
|
|
121
|
-
}
|
|
122
|
-
console.log('========================================');
|
|
123
|
-
console.log('✓ 所有核心工具测试完成!');
|
|
124
|
-
console.log('========================================');
|
|
125
|
-
console.log('\n测试总结:');
|
|
126
|
-
console.log(' ✓ browser_navigate - 导航');
|
|
127
|
-
console.log(' ✓ browser_snapshot - 页面快照');
|
|
128
|
-
console.log(' ✓ browser_click - 点击元素');
|
|
129
|
-
console.log(' ✓ browser_evaluate - 执行 JavaScript');
|
|
130
|
-
console.log(' ✓ browser_verify_text_visible - 验证文本');
|
|
131
|
-
console.log(' ✓ browser_tabs - 标签页管理');
|
|
132
|
-
console.log(' ✓ browser_take_screenshot - 截图');
|
|
133
|
-
console.log(' ✓ browser_type - 输入文本');
|
|
134
|
-
console.log(' ✓ browser_wait_for - 等待');
|
|
135
|
-
console.log('\n所有工具都能正常工作!\n');
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
console.error('✗ 测试失败:', error);
|
|
139
|
-
throw error;
|
|
140
|
-
}
|
|
141
|
-
finally {
|
|
142
|
-
await context.close();
|
|
143
|
-
await browser.close();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (require.main === module) {
|
|
147
|
-
testBackendAdapter().catch(console.error);
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=test-simple-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-simple-tools.js","sourceRoot":"","sources":["../../../../src/examples/test-simple-tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA8JM,gDAAkB;AA5J3B,2CAA2D;AAC3D,2FAAkG;AAElG,KAAK,UAAU,kBAAkB;IAC/B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAmB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAE3D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAA,iEAAoC,EAAC,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAE5C,UAAU;QACV,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC3E,MAAM,YAAY,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAE7D,yBAAyB;QACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC3E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACpI,CAAC;QAED,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,gCAAgC;gBAChC,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChD,yFAAyF;gBAEzF,iBAAiB;gBACjB,MAAM,YAAY,GAAG,KAAK,CAAC;gBAE3B,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;wBAClC,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,YAAY,CAAE,OAAO;qBAC/B,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;gBACpI,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAG,GAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC3E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;gBACrC,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,oCAAoC;QACpC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6BAA6B,CAAC,CAAC;QACxF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACtI,CAAC;QAED,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACrI,CAAC;QAED,gCAAgC;QAChC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;QACpF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACpI,CAAC;QAED,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;gBACjC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACpI,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC1E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-working.d.ts","sourceRoot":"","sources":["../../../../src/examples/test-working.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 简洁测试 - 验证工具能正常调用
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const playwright_1 = require("playwright");
|
|
7
|
-
const playwright_backend_adapter_1 = require("../agents/tools/playwright-backend-adapter");
|
|
8
|
-
async function testBackendAdapter() {
|
|
9
|
-
const browser = await playwright_1.chromium.launch({ headless: true });
|
|
10
|
-
const context = await browser.newContext();
|
|
11
|
-
try {
|
|
12
|
-
console.log('加载工具...');
|
|
13
|
-
const tools = await (0, playwright_backend_adapter_1.getPlaywrightBackendToolsFromContext)(context);
|
|
14
|
-
console.log(`成功加载 ${tools.length} 个工具`);
|
|
15
|
-
const navigate = tools.find((t) => t.name === 'browser_navigate');
|
|
16
|
-
await navigate.func({ url: 'https://example.com' });
|
|
17
|
-
console.log('✓ 导航');
|
|
18
|
-
const snapshot = tools.find((t) => t.name === 'browser_snapshot');
|
|
19
|
-
await snapshot.func({});
|
|
20
|
-
console.log('✓ 快照');
|
|
21
|
-
// 跳过 evaluate 测试(schema 有问题)
|
|
22
|
-
// const evaluate = tools.find((t: any) => t.name === 'browser_evaluate')!;
|
|
23
|
-
const verify = tools.find((t) => t.name === 'browser_verify_text_visible');
|
|
24
|
-
await verify.func({ text: 'Example' });
|
|
25
|
-
console.log('✓ 验证文本');
|
|
26
|
-
const tabs = tools.find((t) => t.name === 'browser_tabs');
|
|
27
|
-
await tabs.func({ action: 'list' });
|
|
28
|
-
console.log('✓ 标签页');
|
|
29
|
-
await tools.find((t) => t.name === 'browser_wait_for').func({ time: 500 });
|
|
30
|
-
console.log('✓ 等待');
|
|
31
|
-
console.log('\n所有测试通过!工具工作正常');
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
console.error('测试失败:', error.message);
|
|
35
|
-
// 不重新抛出,以便查看完整的测试结果
|
|
36
|
-
}
|
|
37
|
-
finally {
|
|
38
|
-
await context.close();
|
|
39
|
-
await browser.close();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
testBackendAdapter().catch(console.error);
|
|
43
|
-
//# sourceMappingURL=test-working.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-working.js","sourceRoot":"","sources":["../../../../src/examples/test-working.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,2CAA2D;AAC3D,2FAAkG;AAElG,KAAK,UAAU,kBAAkB;IAC/B,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAmB,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAE3D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,IAAA,iEAAoC,EAAC,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAE,CAAC;QACxE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAE,CAAC;QACxE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,6BAA6B;QAC7B,2EAA2E;QAE3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6BAA6B,CAAE,CAAC;QACjF,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAE,CAAC;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,OAAO,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACjD,oBAAoB;IACtB,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,kBAAkB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 全面测试 playwright-backend-adapter 的复杂工具能力
|
|
3
|
-
*
|
|
4
|
-
* 测试包括:
|
|
5
|
-
* - browser_run_code - 运行 Playwright 代码片段
|
|
6
|
-
* - browser_click - 点击元素
|
|
7
|
-
* - browser_drag - 拖拽
|
|
8
|
-
* - browser_take_screenshot - 截图
|
|
9
|
-
* - browser_snapshot - 页面快照
|
|
10
|
-
* - browser_fill_form - 填充表单
|
|
11
|
-
* - browser_tabs - 标签页管理
|
|
12
|
-
*/
|
|
13
|
-
declare function testBackendAdapter(): Promise<void>;
|
|
14
|
-
export { testBackendAdapter };
|
|
15
|
-
//# sourceMappingURL=v-test-backend-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v-test-backend-adapter.d.ts","sourceRoot":"","sources":["../../../../src/examples/v-test-backend-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,iBAAe,kBAAkB,kBA8MhC;AAOD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|