mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 07:26:55 +08:00
feat: add uixt tool get_screen_size
This commit is contained in:
@@ -1 +1 @@
|
|||||||
v5.0.0-beta-2505211642
|
v5.0.0-beta-2505211651
|
||||||
|
|||||||
@@ -133,6 +133,16 @@ func (ums *MCPServer4XTDriver) addTools() {
|
|||||||
ums.tools = append(ums.tools, terminateAppTool)
|
ums.tools = append(ums.tools, terminateAppTool)
|
||||||
ums.handlerMap[terminateAppTool.Name] = ums.handleTerminateApp
|
ums.handlerMap[terminateAppTool.Name] = ums.handleTerminateApp
|
||||||
|
|
||||||
|
// GetScreenSize Tool
|
||||||
|
getScreenSizeParams := append(
|
||||||
|
[]mcp.ToolOption{mcp.WithDescription("Get the screen size of the mobile device in pixels")},
|
||||||
|
commonToolOptions...,
|
||||||
|
)
|
||||||
|
getScreenSizeTool := mcp.NewTool("get_screen_size", getScreenSizeParams...)
|
||||||
|
ums.mcpServer.AddTool(getScreenSizeTool, ums.handleGetScreenSize)
|
||||||
|
ums.tools = append(ums.tools, getScreenSizeTool)
|
||||||
|
ums.handlerMap[getScreenSizeTool.Name] = ums.handleGetScreenSize
|
||||||
|
|
||||||
// TapXY Tool
|
// TapXY Tool
|
||||||
tapParams := append(
|
tapParams := append(
|
||||||
[]mcp.ToolOption{mcp.WithDescription("Taps on the device screen at the given coordinates.")},
|
[]mcp.ToolOption{mcp.WithDescription("Taps on the device screen at the given coordinates.")},
|
||||||
@@ -269,6 +279,21 @@ func (ums *MCPServer4XTDriver) handleTerminateApp(ctx context.Context, request m
|
|||||||
return mcp.NewToolResultText(fmt.Sprintf("Terminated app success: %s", packageName)), nil
|
return mcp.NewToolResultText(fmt.Sprintf("Terminated app success: %s", packageName)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// handleGetScreenSize handles the get_screen_size tool call.
|
||||||
|
func (ums *MCPServer4XTDriver) handleGetScreenSize(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
|
||||||
|
driverExt, err := ums.setupXTDriver(ctx, request.Params.Arguments)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
screenSize, err := driverExt.IDriver.WindowSize()
|
||||||
|
if err != nil {
|
||||||
|
return mcp.NewToolResultError("Get screen size failed: " + err.Error()), nil
|
||||||
|
}
|
||||||
|
return mcp.NewToolResultText(
|
||||||
|
fmt.Sprintf("Screen size: %d x %d pixels", screenSize.Width, screenSize.Height),
|
||||||
|
), nil
|
||||||
|
}
|
||||||
|
|
||||||
// handleTapXY handles the tap_xy tool call.
|
// handleTapXY handles the tap_xy tool call.
|
||||||
func (ums *MCPServer4XTDriver) handleTapXY(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
|
func (ums *MCPServer4XTDriver) handleTapXY(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
|
||||||
driverExt, err := ums.setupXTDriver(ctx, request.Params.Arguments)
|
driverExt, err := ums.setupXTDriver(ctx, request.Params.Arguments)
|
||||||
|
|||||||
Reference in New Issue
Block a user