midscene/packages/web-integration/tests/ai/bridge/keyboard-event.test.ts
Zhou Xiao edf0871fea
feat(browser): Add the forceSameTabNavigation configuration to prevent AI from opening new pages during operations, thus avoiding task interruptions. (#389)
* feat(tab-control): enhance the configuration to limit AI from opening new tabs during operations, preventing failures.

* chore: optimize evaluate error

* chore: resolve navigation error

* fix(browser): add forceSameTabNavigation config toe limit open new tab

* chore: upgrade vitest version

* fix: typo (#390)

---------

Co-authored-by: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com>
2025-02-14 21:54:47 +08:00

43 lines
1.1 KiB
TypeScript

import {
AgentOverChromeBridge,
getBridgePageInCliSide,
} from '@/bridge-mode/agent-cli-side';
import { describe, expect, it, vi } from 'vitest';
vi.setConfig({
testTimeout: 3 * 60 * 1000,
});
const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
const describeIf = process.env.BRIDGE_MODE ? describe : describe.skip;
describeIf(
'keyboard event in bridge mode',
{
timeout: 3 * 60 * 10,
},
() => {
it('page in cli side scroll down', async () => {
const agent = new AgentOverChromeBridge();
await agent.connectNewTabWithUrl('https://www.baidu.com');
await agent.aiAction('type "midscene" and hit Enter and scroll down');
// sleep 3s
await sleep(3000);
await agent.destroy();
});
it('page in cli side select all text', async () => {
const agent = new AgentOverChromeBridge();
await agent.connectNewTabWithUrl('https://www.baidu.com');
await agent.aiAction('type "Midscene" and hit Enter and select all text');
// sleep 3s
await sleep(3000);
await agent.destroy();
});
},
);