mirror of
https://github.com/web-infra-dev/midscene.git
synced 2025-07-29 03:44:08 +00:00

* refactor: android api * refactor: enhance Android agent to accept options for device connection * fix: type error * fix: click after clearInput * fix: click before clearInput * feat: android playground * feat: support npx package name * feat: android playground joint * fix: git ignore conflicts * feat: ensure adb server is running before initializing adb client * fix: deps consistency * ci: add android playground * feat: integrate shared constants and improve server configuration in android playground * feat: android playground style * feat: style opt * feat: add @rsbuild/plugin-svgr dependency and improve URI handling in adb * feat: remove unused water flow scripts and update comments to English * feat: download report file * feat: standalone android playground * feat: use dynamic import * feat: migrate CSS to LESS and remove unused styles in chrome extension and report * feat: enhance Android playground with ScrcpyPlayer ref integration and device management improvements * feat: optimize styles and layout in Android playground and visualizer components * chore: add bin back * chore: update build script to exclude documentation generation * feat: add not ready message to PlaygroundResult for improved user guidance * feat: add error handling for screenshot capture in Android page * docs: update readme * feat: add PNG validation for screenshot buffer in Android page * feat: enhance UI components with improved styling and tooltips in ScrcpyPlayer and PromptInput * docs: update uri parameter description in integrate-with-android documentation and improve uri handling in launch function * style: update primary color to #2B83FF across multiple components and adjust margin in App.less * refactor: replace userConfig with globalConfig for environment configuration management and update related functions * feat: integrate server validation logic in App, AdbDevice, and ScrcpyPlayer components for improved connection handling * style: enhance player component layout with overflow handling and margin adjustments * style: refine player component layout with flex adjustments and improved spacing * feat: add midscene model name display and improve layout in EnvConfig component * feat: integrate ShinyText component for enhanced loading progress display in PlaygroundResult * test: add test for isValidPNGImageBuffer * style: remove background color from App.less and adjust AI config override behavior in env.ts --------- Co-authored-by: yutao <yutao.tao@bytedance.com>
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import { describeUserPage } from '@/ai-model/prompt/util';
|
|
import { vlLocateMode } from '@/env';
|
|
import { getContextFromFixture } from 'tests/evaluation';
|
|
import { describe, expect, it, vi } from 'vitest';
|
|
|
|
// Mock vlLocateMode to return false during tests
|
|
vi.mock('@/env', async () => {
|
|
const actual = await vi.importActual('@/env');
|
|
return {
|
|
...actual,
|
|
vlLocateMode: () => false,
|
|
};
|
|
});
|
|
|
|
describe.skipIf(vlLocateMode())('prompt utils', () => {
|
|
let lengthOfDescription: number;
|
|
it('describe context', async () => {
|
|
const context = await getContextFromFixture('taobao');
|
|
const { description } = await describeUserPage(context.context);
|
|
|
|
lengthOfDescription = description.length;
|
|
const stringLengthOfEachItem =
|
|
lengthOfDescription / context.context.content.length;
|
|
expect(description).toBeTruthy();
|
|
expect(stringLengthOfEachItem).toBeLessThan(250);
|
|
});
|
|
|
|
it('describe context, length = 100, filterNonTextContent = true', async () => {
|
|
const context = await getContextFromFixture('taobao');
|
|
|
|
const { description } = await describeUserPage(context.context, {
|
|
truncateTextLength: 100,
|
|
filterNonTextContent: true,
|
|
});
|
|
|
|
const stringLengthOfEachItem =
|
|
description.length / context.context.content.length;
|
|
expect(description).toBeTruthy();
|
|
expect(stringLengthOfEachItem).toBeLessThan(160);
|
|
|
|
if (!vlLocateMode()) {
|
|
expect(description.length).toBeLessThan(lengthOfDescription * 0.8);
|
|
}
|
|
});
|
|
});
|