Commit Graph

504 Commits

Author SHA1 Message Date
lilong.129
f6e7e970f8 feat: 实现 AIQuery 功能并支持 OutputSchema
- 新增 AIQuery 方法到 StepMobile,支持使用自然语言从屏幕中提取信息
- 实现 AIQuery 在 driver_ext_ai.go 中的完整功能,包括屏幕截图和 LLM 查询
- 添加 OutputSchema 支持,允许用户定义自定义输出格式进行结构化查询
- 新增 ToolAIQuery MCP 工具,完整集成到 MCP 服务器中
- 在 ActionOptions 中添加 OutputSchema 字段和 WithOutputSchema 选项函数
- 添加 ACTION_Query 的配置支持和字段映射
- 完善测试覆盖:
  * 添加 TestAIQuery 单元测试,包含多种 OutputSchema 使用场景
  * 添加 TestToolAIQuery MCP 工具测试
  * 定义 GameInfo、UIElementInfo 等结构体用于测试
- 更新文档:
  * 在 docs/uixt/ai.md 中添加完整的 AIQuery 使用指南
  * 包含基本用法、OutputSchema 示例、最佳实践等
- 支持复杂的嵌套结构体和数组类型的 OutputSchema
- 与现有 AIAction、AIAssert 功能保持一致的 API 设计
2025-06-13 10:27:08 +08:00
lilong.129
fa9a53d2ae change: add test 2025-06-10 18:16:36 +08:00
lilong.129
39acadb0a7 feat: add MCP tools registration to LLM service
- Add RegisterTools method to ILLMService interface
- Create shared MCP to eino tool converter
- Auto-register built-in uixt tools in XTDriver initialization
- Refactor MCPHost to use shared converter
- Add comprehensive test coverage for tool conversion

This enables doubao-1.5-thinking-vision-pro model to access
MCP tools through function calling mechanism.
2025-06-09 22:19:43 +08:00
lilong.129
e85802cdda feat: add download for summary.json and hrp.log in report.html 2025-06-09 00:29:27 +08:00
lilong.129
cf360c8c46 feat: compress image data for html report 2025-06-08 23:48:23 +08:00
lilong.129
14cef72f5a feat: add model name display in AI actions and optimize HTML report
- Add ModelName field to PlanningResult and SubActionResult
- Update HTML report with improved layout and model name display
- Fix elapsed time setting bug and enhance mobile responsiveness
2025-06-08 22:08:51 +08:00
lilong.129
d883aa6a21 change: rename VLM name 2025-06-05 18:09:25 +08:00
lilong.129
c4e7ab00a7 feat: implement ToolStartToGoal and fix LLM service initialization
- Add ToolStartToGoal implementation with AI-driven goal automation
- Fix LLM service not initialized issue by applying global AI config to XTDriver creation
- Ensure XTDriver is created with proper AI services from the first initialization
- Add StartToGoal method to StepMobile for goal-oriented automation
- Register ToolStartToGoal in MCP server and add corresponding action type
- Add comprehensive test case for StartToGoal functionality
- Fix ReturnSchema consistency across AI tools (StartToGoal, AIAction, Finished)
- Extract AI service options in MCP argument processing

This resolves the root cause where XTDriver was created without AI services
in runStepMobileUI, ensuring only one XTDriver initialization with complete
AI service configuration.
2025-06-05 16:52:11 +08:00
lilong.129
0b1a92d8dd refactor: NewCaseRunner 2025-05-12 15:25:32 +08:00
lilong.129
7d5fdfe490 change: AIAssert 2025-03-25 14:33:07 +08:00
lilong.129
a6fce6a13b change: replace with assert err nil 2025-03-05 22:33:17 +08:00
lilong.129
b298441eba fix: convert tests 2025-03-05 22:28:46 +08:00
lilong.129
f5dff25d26 fix: unittests 2025-03-05 22:08:03 +08:00
lilong.129
c55bbba430 fix: init plugin 2025-03-05 19:39:18 +08:00
lilong.129
a80c8af3f6 fix: unittests 2025-03-05 18:10:41 +08:00
lilong.129
b9db874f38 refactor: move tests 2025-03-05 11:47:08 +08:00
lilong.129
1f063dd6f7 refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
debugtalk
64ff34a341 refactor: relocate python test files 2022-03-23 23:14:16 +08:00
debugtalk
6cb835c6c6 fix #1103: variable should not start with digit 2022-03-22 17:37:57 +08:00
debugtalk
d8b1e4737c Merge branch 'master' of https://github.com/httprunner/httprunner 2022-03-22 17:19:49 +08:00
debugtalk
e78cd0376f Merge pull request #1113 from lihuacai168/master
feat: support variable and function in response extract expression
2022-03-22 17:17:23 +08:00
debugtalk
cdfb936f92 Merge branch 'master' of https://github.com/httprunner/httprunner 2022-03-22 17:13:38 +08:00
debugtalk
ab26910d5e Merge branch 'master' into master 2022-03-22 17:06:56 +08:00
debugtalk
0025bb21f6 fix: keep negative index in jmespath unchanged when converting pytest files 2022-03-22 17:00:09 +08:00
debugtalk
1bcbc19651 fix: unittests 2022-03-21 15:16:09 +08:00
cyandragon88
09a833d61b har2case add profile args 2021-10-31 21:49:57 +08:00
lihuacai
0bad623780 feat: response extract expresion support variable and function 2021-09-01 15:29:23 +08:00
xucong053
b583e3cce1 fix: bugfix 2021-07-18 16:02:47 +08:00
xucong053
dd05e920fa fix: Resolve the FileNotFoundError while using subprocess on Windows 2021-07-18 15:53:03 +08:00
01382037
476578f14a tests: add test 2020-11-11 16:16:52 +08:00
debugtalk
47ee777085 fix: pickle BufferedReader TypeError in upload feature 2020-07-30 11:40:32 +08:00
debugtalk
de20ad8d2b change: override variables strategy, step variables > extracted variables from previous steps 2020-07-30 10:56:38 +08:00
jun
fa30ce3bc7 add unit test and closes #971 2020-07-28 12:49:26 +08:00
debugtalk
0fc42f77cd refactor: parameters 2020-07-06 16:15:09 +08:00
debugtalk
d71591f170 format code 2020-07-06 11:09:20 +08:00
debugtalk
3229a26e89 fix: validate with variable or function whose evaluation result is "" or not text 2020-07-06 10:50:49 +08:00
jun
4595022f62 fixed: #931 unit test parameters 2020-07-03 10:23:10 +08:00
jun
1c23d20933 test: #931 add test for parameters 2020-07-02 18:11:11 +08:00
debugtalk
62f0544aaf test: add test for ResponseObject, #948 2020-06-29 19:13:50 +08:00
debugtalk
4f80acced4 fix: unittests for ensure export 2020-06-23 14:43:24 +08:00
debugtalk
286dbbfe55 fix #942: type_match None 2020-06-21 15:07:54 +08:00
debugtalk
a2fc817b5e change: use private method 2020-06-21 11:47:07 +08:00
debugtalk
18e9b772fd change: make converted referenced pytest files always relative to project RootDir 2020-06-21 10:58:42 +08:00
debugtalk
64b7659a12 fix: unittests for convert_testcase_path 2020-06-20 00:22:18 +08:00
debugtalk
3e8bd4b6f0 change: rename ensure_file_abs_path_valid 2020-06-19 15:46:38 +08:00
debugtalk
11c7d30f9f fix: unittests on Windows 2020-06-17 22:31:29 +08:00
debugtalk
181b1234a8 fix: SyntaxError caused by quote in case of headers."Set-Cookie" 2020-06-15 17:36:07 +08:00
debugtalk
9f83e95974 fix: avoid '.csv' been converted to '_csv' 2020-06-15 15:07:23 +08:00
debugtalk
05fde4e254 fix: incorrect import 2020-06-14 22:10:56 +08:00
debugtalk
f4aa0b9913 fix: compatibility with different path separators of Linux and Windows 2020-06-14 22:01:09 +08:00