Documentation
¶
Overview ¶
Package mcp provides an MCP (Model Context Protocol) server for browser automation.
Index ¶
- type AddScriptInput
- type AddScriptOutput
- type AddStyleInput
- type AddStyleOutput
- type AssertElementInput
- type AssertElementOutput
- type AssertTextInput
- type AssertTextOutput
- type BackInput
- type BackOutput
- type BringToFrontInput
- type BringToFrontOutput
- type BrowserLaunchInput
- type BrowserLaunchOutput
- type BrowserQuitInput
- type BrowserQuitOutput
- type CheckInput
- type CheckOutput
- type ClearCookiesInput
- type ClearCookiesOutput
- type ClearInput
- type ClearOutput
- type ClearRecordingInput
- type ClearRecordingOutput
- type ClickInput
- type ClickOutput
- type ClosePageInput
- type ClosePageOutput
- type Config
- type CookieOutput
- type DblClickInput
- type DblClickOutput
- type DispatchEventInput
- type DispatchEventOutput
- type DragToInput
- type DragToOutput
- type ElementEvalInput
- type ElementEvalOutput
- type ElementScreenshotInput
- type ElementScreenshotOutput
- type EmulateMediaInput
- type EmulateMediaOutput
- type EvaluateInput
- type EvaluateOutput
- type ExportScriptInput
- type ExportScriptOutput
- type FillInput
- type FillOutput
- type FocusInput
- type FocusOutput
- type ForwardInput
- type ForwardOutput
- type FrameInfoOutput
- type GetAttributeInput
- type GetAttributeOutput
- type GetBoundingBoxInput
- type GetBoundingBoxOutput
- type GetContentInput
- type GetContentOutput
- type GetCookiesInput
- type GetCookiesOutput
- type GetFramesInput
- type GetFramesOutput
- type GetInnerHTMLInput
- type GetInnerHTMLOutput
- type GetInnerTextInput
- type GetInnerTextOutput
- type GetLabelInput
- type GetLabelOutput
- type GetPagesInput
- type GetPagesOutput
- type GetRoleInput
- type GetRoleOutput
- type GetStorageStateInput
- type GetStorageStateOutput
- type GetTestReportInput
- type GetTestReportOutput
- type GetTextInput
- type GetTextOutput
- type GetTitleInput
- type GetTitleOutput
- type GetURLInput
- type GetURLOutput
- type GetValueInput
- type GetValueOutput
- type GetViewportInput
- type GetViewportOutput
- type HoverInput
- type HoverOutput
- type IsCheckedInput
- type IsCheckedOutput
- type IsEditableInput
- type IsEditableOutput
- type IsEnabledInput
- type IsEnabledOutput
- type IsHiddenInput
- type IsHiddenOutput
- type IsVisibleInput
- type IsVisibleOutput
- type KeyboardDownInput
- type KeyboardDownOutput
- type KeyboardPressInput
- type KeyboardPressOutput
- type KeyboardTypeInput
- type KeyboardTypeOutput
- type KeyboardUpInput
- type KeyboardUpOutput
- type MouseClickInput
- type MouseClickOutput
- type MouseDownInput
- type MouseDownOutput
- type MouseMoveInput
- type MouseMoveOutput
- type MouseUpInput
- type MouseUpOutput
- type MouseWheelInput
- type MouseWheelOutput
- type NavigateInput
- type NavigateOutput
- type NewPageInput
- type NewPageOutput
- type PDFInput
- type PDFOutput
- type PressInput
- type PressOutput
- type Recorder
- func (r *Recorder) AddStep(step script.Step)
- func (r *Recorder) Clear()
- func (r *Recorder) Export() *script.Script
- func (r *Recorder) ExportJSON() ([]byte, error)
- func (r *Recorder) IsRecording() bool
- func (r *Recorder) RecordAccessibilityCheck(standard, failOn string)
- func (r *Recorder) RecordAssertElement(selector string)
- func (r *Recorder) RecordAssertText(selector, expected string)
- func (r *Recorder) RecordAssertTitle(expected string)
- func (r *Recorder) RecordAssertURL(expected string)
- func (r *Recorder) RecordAssertVisible(selector string)
- func (r *Recorder) RecordBack()
- func (r *Recorder) RecordCheck(selector string)
- func (r *Recorder) RecordClear(selector string)
- func (r *Recorder) RecordClick(selector string)
- func (r *Recorder) RecordDblClick(selector string)
- func (r *Recorder) RecordDragTo(selector, target string)
- func (r *Recorder) RecordEval(js string)
- func (r *Recorder) RecordFill(selector, value string)
- func (r *Recorder) RecordFocus(selector string)
- func (r *Recorder) RecordForward()
- func (r *Recorder) RecordHover(selector string)
- func (r *Recorder) RecordKeyboardPress(key string)
- func (r *Recorder) RecordKeyboardType(text string)
- func (r *Recorder) RecordMouseClick(x, y float64)
- func (r *Recorder) RecordMouseMove(x, y float64)
- func (r *Recorder) RecordNavigate(url string)
- func (r *Recorder) RecordPress(selector, key string)
- func (r *Recorder) RecordReload()
- func (r *Recorder) RecordScreenshot(file string, fullPage bool)
- func (r *Recorder) RecordScrollIntoView(selector string)
- func (r *Recorder) RecordSelect(selector, value string)
- func (r *Recorder) RecordSetFiles(selector string, files []string)
- func (r *Recorder) RecordSetViewport(width, height int)
- func (r *Recorder) RecordTap(selector string)
- func (r *Recorder) RecordType(selector, text string)
- func (r *Recorder) RecordUncheck(selector string)
- func (r *Recorder) RecordWait(duration string)
- func (r *Recorder) RecordWaitForLoad(state string)
- func (r *Recorder) RecordWaitForSelector(selector, state string)
- func (r *Recorder) RecordWaitForURL(pattern string)
- func (r *Recorder) Start(metadata RecorderMetadata)
- func (r *Recorder) StepCount() int
- func (r *Recorder) Steps() []script.Step
- func (r *Recorder) Stop()
- type RecorderMetadata
- type RecordingStatusInput
- type RecordingStatusOutput
- type ReloadInput
- type ReloadOutput
- type ResetSessionInput
- type ResetSessionOutput
- type ScreenshotInput
- type ScreenshotOutput
- type ScrollIntoViewInput
- type ScrollIntoViewOutput
- type SelectOptionInput
- type SelectOptionOutput
- type Server
- type Session
- func (s *Session) CaptureContext(ctx context.Context) *report.StepContext
- func (s *Session) CaptureScreenshot(ctx context.Context) *report.ScreenshotRef
- func (s *Session) Close(ctx context.Context) error
- func (s *Session) FindSimilarSelectors(ctx context.Context, selector string) []string
- func (s *Session) GetTestResult() *report.TestResult
- func (s *Session) LaunchIfNeeded(ctx context.Context) error
- func (s *Session) NextStepID(action string) string
- func (s *Session) RecordStep(result report.StepResult)
- func (s *Session) Recorder() *Recorder
- func (s *Session) Reset()
- func (s *Session) SetTarget(target string)
- func (s *Session) Vibe(ctx context.Context) (*vibium.Vibe, error)
- type SessionConfig
- type SetContentInput
- type SetContentOutput
- type SetCookieInput
- type SetCookiesInput
- type SetCookiesOutput
- type SetFilesInput
- type SetFilesOutput
- type SetGeolocationInput
- type SetGeolocationOutput
- type SetTargetInput
- type SetTargetOutput
- type SetViewportInput
- type SetViewportOutput
- type StartRecordingInput
- type StartRecordingOutput
- type StopRecordingInput
- type StopRecordingOutput
- type TapInput
- type TapOutput
- type TouchSwipeInput
- type TouchSwipeOutput
- type TouchTapInput
- type TouchTapOutput
- type TypeInput
- type TypeOutput
- type UncheckInput
- type UncheckOutput
- type WaitForFunctionInput
- type WaitForFunctionOutput
- type WaitForLoadInput
- type WaitForLoadOutput
- type WaitForURLInput
- type WaitForURLOutput
- type WaitUntilInput
- type WaitUntilOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddScriptInput ¶
type AddScriptInput struct {
Source string `json:"source" jsonschema:"description=JavaScript source to inject,required"`
}
type AddScriptOutput ¶
type AddScriptOutput struct {
Message string `json:"message"`
}
type AddStyleInput ¶
type AddStyleInput struct {
Source string `json:"source" jsonschema:"description=CSS source to inject,required"`
}
type AddStyleOutput ¶
type AddStyleOutput struct {
Message string `json:"message"`
}
type AssertElementInput ¶
type AssertElementOutput ¶
type AssertTextInput ¶
type AssertTextOutput ¶
type BackOutput ¶
type BackOutput struct {
Message string `json:"message"`
}
type BringToFrontInput ¶
type BringToFrontInput struct{}
type BringToFrontOutput ¶
type BringToFrontOutput struct {
Message string `json:"message"`
}
type BrowserLaunchInput ¶
type BrowserLaunchInput struct {
Headless bool `json:"headless" jsonschema:"description=Run browser without GUI (default: true)"`
}
type BrowserLaunchOutput ¶
type BrowserLaunchOutput struct {
Message string `json:"message"`
}
type BrowserQuitInput ¶
type BrowserQuitInput struct{}
type BrowserQuitOutput ¶
type BrowserQuitOutput struct {
Message string `json:"message"`
}
type CheckInput ¶
type CheckOutput ¶
type CheckOutput struct {
Message string `json:"message"`
}
type ClearCookiesInput ¶
type ClearCookiesInput struct{}
type ClearCookiesOutput ¶
type ClearCookiesOutput struct {
Message string `json:"message"`
}
type ClearInput ¶
type ClearOutput ¶
type ClearOutput struct {
Message string `json:"message"`
}
type ClearRecordingInput ¶
type ClearRecordingInput struct{}
type ClearRecordingOutput ¶
type ClearRecordingOutput struct {
Message string `json:"message"`
}
type ClickInput ¶
type ClickOutput ¶
type ClickOutput struct {
Message string `json:"message"`
}
type ClosePageInput ¶
type ClosePageInput struct{}
type ClosePageOutput ¶
type ClosePageOutput struct {
Message string `json:"message"`
}
type Config ¶
type Config struct {
// Headless runs the browser without a GUI.
Headless bool
// Project is the project name for reports.
Project string
// DefaultTimeout is the default timeout for browser operations.
DefaultTimeout time.Duration
}
Config holds server configuration.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a Config with sensible defaults.
type CookieOutput ¶
type DblClickInput ¶
type DblClickOutput ¶
type DblClickOutput struct {
Message string `json:"message"`
}
type DispatchEventInput ¶
type DispatchEventInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the element,required"`
EventType string `json:"event_type" jsonschema:"description=Event type (e.g. click focus blur),required"`
EventInit map[string]any `json:"event_init" jsonschema:"description=Event initialization options"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type DispatchEventOutput ¶
type DispatchEventOutput struct {
Message string `json:"message"`
}
type DragToInput ¶
type DragToInput struct {
SourceSelector string `json:"source_selector" jsonschema:"description=CSS selector for the element to drag,required"`
TargetSelector string `json:"target_selector" jsonschema:"description=CSS selector for the drop target,required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type DragToOutput ¶
type DragToOutput struct {
Message string `json:"message"`
}
type ElementEvalInput ¶
type ElementEvalInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the element,required"`
Function string `json:"function" jsonschema:"description=JavaScript function (receives element as first arg),required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type ElementEvalOutput ¶
type ElementEvalOutput struct {
Result any `json:"result"`
}
type ElementScreenshotInput ¶
type ElementScreenshotOutput ¶
type ElementScreenshotOutput struct {
Data string `json:"data"`
}
type EmulateMediaInput ¶
type EmulateMediaInput struct {
Media string `json:"media" jsonschema:"description=Media type: screen print or empty"`
ColorScheme string `json:"color_scheme" jsonschema:"description=Color scheme: light dark no-preference or empty"`
ReducedMotion string `json:"reduced_motion" jsonschema:"description=Reduced motion: reduce no-preference or empty"`
}
type EmulateMediaOutput ¶
type EmulateMediaOutput struct {
Message string `json:"message"`
}
type EvaluateInput ¶
type EvaluateInput struct {
Script string `json:"script" jsonschema:"description=JavaScript to execute,required"`
}
type EvaluateOutput ¶
type EvaluateOutput struct {
Result any `json:"result"`
}
type ExportScriptInput ¶
type ExportScriptInput struct {
Format string `json:"format,omitempty" jsonschema:"description=Output format: json or yaml (default: json),enum=json,enum=yaml"`
}
type ExportScriptOutput ¶
type FillInput ¶
type FillInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the input element,required"`
Value string `json:"value" jsonschema:"description=Value to fill,required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type FillOutput ¶
type FillOutput struct {
Message string `json:"message"`
}
type FocusInput ¶
type FocusOutput ¶
type FocusOutput struct {
Message string `json:"message"`
}
type ForwardInput ¶
type ForwardInput struct{}
type ForwardOutput ¶
type ForwardOutput struct {
Message string `json:"message"`
}
type FrameInfoOutput ¶
type GetAttributeInput ¶
type GetAttributeInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the element,required"`
Name string `json:"name" jsonschema:"description=Attribute name,required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type GetAttributeOutput ¶
type GetAttributeOutput struct {
Value string `json:"value"`
}
type GetBoundingBoxInput ¶
type GetBoundingBoxOutput ¶
type GetContentInput ¶
type GetContentInput struct{}
type GetContentOutput ¶
type GetContentOutput struct {
Content string `json:"content"`
}
type GetCookiesInput ¶
type GetCookiesInput struct {
URLs []string `json:"urls" jsonschema:"description=URLs to get cookies for (optional)"`
}
type GetCookiesOutput ¶
type GetCookiesOutput struct {
Cookies []CookieOutput `json:"cookies"`
}
type GetFramesInput ¶
type GetFramesInput struct{}
type GetFramesOutput ¶
type GetFramesOutput struct {
Frames []FrameInfoOutput `json:"frames"`
}
type GetInnerHTMLInput ¶
type GetInnerHTMLOutput ¶
type GetInnerHTMLOutput struct {
HTML string `json:"html"`
}
type GetInnerTextInput ¶
type GetInnerTextOutput ¶
type GetInnerTextOutput struct {
Text string `json:"text"`
}
type GetLabelInput ¶
type GetLabelOutput ¶
type GetLabelOutput struct {
Label string `json:"label"`
}
type GetPagesInput ¶
type GetPagesInput struct{}
type GetPagesOutput ¶
type GetPagesOutput struct {
Count int `json:"count"`
}
type GetRoleInput ¶
type GetRoleOutput ¶
type GetRoleOutput struct {
Role string `json:"role"`
}
type GetStorageStateInput ¶
type GetStorageStateInput struct{}
type GetStorageStateOutput ¶
type GetStorageStateOutput struct {
State string `json:"state"`
}
type GetTestReportInput ¶
type GetTestReportInput struct {
Format string `` /* 156-byte string literal not displayed */
}
type GetTestReportOutput ¶
type GetTestReportOutput struct {
Report string `json:"report"`
}
type GetTextInput ¶
type GetTextOutput ¶
type GetTextOutput struct {
Text string `json:"text"`
}
type GetTitleInput ¶
type GetTitleInput struct{}
type GetTitleOutput ¶
type GetTitleOutput struct {
Title string `json:"title"`
}
type GetURLInput ¶
type GetURLInput struct{}
type GetURLOutput ¶
type GetURLOutput struct {
URL string `json:"url"`
}
type GetValueInput ¶
type GetValueOutput ¶
type GetValueOutput struct {
Value string `json:"value"`
}
type GetViewportInput ¶
type GetViewportInput struct{}
type GetViewportOutput ¶
type HoverInput ¶
type HoverOutput ¶
type HoverOutput struct {
Message string `json:"message"`
}
type IsCheckedInput ¶
type IsCheckedOutput ¶
type IsCheckedOutput struct {
Checked bool `json:"checked"`
}
type IsEditableInput ¶
type IsEditableOutput ¶
type IsEditableOutput struct {
Editable bool `json:"editable"`
}
type IsEnabledInput ¶
type IsEnabledOutput ¶
type IsEnabledOutput struct {
Enabled bool `json:"enabled"`
}
type IsHiddenInput ¶
type IsHiddenOutput ¶
type IsHiddenOutput struct {
Hidden bool `json:"hidden"`
}
type IsVisibleInput ¶
type IsVisibleOutput ¶
type IsVisibleOutput struct {
Visible bool `json:"visible"`
}
type KeyboardDownInput ¶
type KeyboardDownInput struct {
Key string `json:"key" jsonschema:"description=Key to hold down,required"`
}
type KeyboardDownOutput ¶
type KeyboardDownOutput struct {
Message string `json:"message"`
}
type KeyboardPressInput ¶
type KeyboardPressInput struct {
Key string `json:"key" jsonschema:"description=Key to press (e.g. Enter Tab ArrowDown),required"`
}
type KeyboardPressOutput ¶
type KeyboardPressOutput struct {
Message string `json:"message"`
}
type KeyboardTypeInput ¶
type KeyboardTypeInput struct {
Text string `json:"text" jsonschema:"description=Text to type,required"`
}
type KeyboardTypeOutput ¶
type KeyboardTypeOutput struct {
Message string `json:"message"`
}
type KeyboardUpInput ¶
type KeyboardUpInput struct {
Key string `json:"key" jsonschema:"description=Key to release,required"`
}
type KeyboardUpOutput ¶
type KeyboardUpOutput struct {
Message string `json:"message"`
}
type MouseClickInput ¶
type MouseClickInput struct {
X float64 `json:"x" jsonschema:"description=X coordinate,required"`
Y float64 `json:"y" jsonschema:"description=Y coordinate,required"`
Button string `json:"button" jsonschema:"description=Mouse button: left right middle"`
ClickCount int `json:"click_count" jsonschema:"description=Number of clicks (default: 1)"`
}
type MouseClickOutput ¶
type MouseClickOutput struct {
Message string `json:"message"`
}
type MouseDownInput ¶
type MouseDownInput struct {
Button string `json:"button" jsonschema:"description=Mouse button: left right middle"`
}
type MouseDownOutput ¶
type MouseDownOutput struct {
Message string `json:"message"`
}
type MouseMoveInput ¶
type MouseMoveOutput ¶
type MouseMoveOutput struct {
Message string `json:"message"`
}
type MouseUpInput ¶
type MouseUpInput struct {
Button string `json:"button" jsonschema:"description=Mouse button: left right middle"`
}
type MouseUpOutput ¶
type MouseUpOutput struct {
Message string `json:"message"`
}
type MouseWheelInput ¶
type MouseWheelOutput ¶
type MouseWheelOutput struct {
Message string `json:"message"`
}
type NavigateInput ¶
type NavigateInput struct {
}
type NavigateOutput ¶
type NavigateOutput struct {
}
type NewPageInput ¶
type NewPageInput struct{}
type NewPageOutput ¶
type NewPageOutput struct {
Message string `json:"message"`
}
type PDFInput ¶
type PDFInput struct {
Scale float64 `json:"scale" jsonschema:"description=Scale of the PDF (default: 1)"`
PrintBackground bool `json:"print_background" jsonschema:"description=Print background graphics"`
Landscape bool `json:"landscape" jsonschema:"description=Landscape orientation"`
Format string `json:"format" jsonschema:"description=Paper format (Letter Legal A4 etc)"`
}
type PressInput ¶
type PressInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the element,required"`
Key string `json:"key" jsonschema:"description=Key to press (e.g. Enter Tab ArrowDown),required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type PressOutput ¶
type PressOutput struct {
Message string `json:"message"`
}
type Recorder ¶
type Recorder struct {
// contains filtered or unexported fields
}
Recorder captures MCP tool calls and converts them to a script.
func (*Recorder) ExportJSON ¶
ExportJSON returns the recorded session as JSON.
func (*Recorder) IsRecording ¶
IsRecording returns whether recording is active.
func (*Recorder) RecordAccessibilityCheck ¶
RecordAccessibilityCheck records an assertAccessibility action.
func (*Recorder) RecordAssertElement ¶
RecordAssertElement records an assertElement action.
func (*Recorder) RecordAssertText ¶
RecordAssertText records an assertText action.
func (*Recorder) RecordAssertTitle ¶
RecordAssertTitle records an assertTitle action.
func (*Recorder) RecordAssertURL ¶
RecordAssertURL records an assertUrl action.
func (*Recorder) RecordAssertVisible ¶
RecordAssertVisible records an assertVisible action.
func (*Recorder) RecordCheck ¶
RecordCheck records a check action.
func (*Recorder) RecordClear ¶
RecordClear records a clear action.
func (*Recorder) RecordClick ¶
RecordClick records a click action.
func (*Recorder) RecordDblClick ¶
RecordDblClick records a double-click action.
func (*Recorder) RecordDragTo ¶
RecordDragTo records a dragTo action.
func (*Recorder) RecordEval ¶
RecordEval records an eval action.
func (*Recorder) RecordFill ¶
RecordFill records a fill action.
func (*Recorder) RecordFocus ¶
RecordFocus records a focus action.
func (*Recorder) RecordForward ¶
func (r *Recorder) RecordForward()
RecordForward records a forward action.
func (*Recorder) RecordHover ¶
RecordHover records a hover action.
func (*Recorder) RecordKeyboardPress ¶
RecordKeyboardPress records a keyboardPress action.
func (*Recorder) RecordKeyboardType ¶
RecordKeyboardType records a keyboardType action.
func (*Recorder) RecordMouseClick ¶
RecordMouseClick records a mouseClick action.
func (*Recorder) RecordMouseMove ¶
RecordMouseMove records a mouseMove action.
func (*Recorder) RecordNavigate ¶
RecordNavigate records a navigation action.
func (*Recorder) RecordPress ¶
RecordPress records a press action.
func (*Recorder) RecordReload ¶
func (r *Recorder) RecordReload()
RecordReload records a reload action.
func (*Recorder) RecordScreenshot ¶
RecordScreenshot records a screenshot action.
func (*Recorder) RecordScrollIntoView ¶
RecordScrollIntoView records a scroll action.
func (*Recorder) RecordSelect ¶
RecordSelect records a select action.
func (*Recorder) RecordSetFiles ¶
RecordSetFiles records a setFiles action.
func (*Recorder) RecordSetViewport ¶
RecordSetViewport records a setViewport action.
func (*Recorder) RecordType ¶
RecordType records a type action.
func (*Recorder) RecordUncheck ¶
RecordUncheck records an uncheck action.
func (*Recorder) RecordWait ¶
RecordWait records a wait action.
func (*Recorder) RecordWaitForLoad ¶
RecordWaitForLoad records a waitForLoad action.
func (*Recorder) RecordWaitForSelector ¶
RecordWaitForSelector records a waitForSelector action.
func (*Recorder) RecordWaitForURL ¶
RecordWaitForURL records a waitForUrl action.
func (*Recorder) Start ¶
func (r *Recorder) Start(metadata RecorderMetadata)
Start begins recording actions.
type RecorderMetadata ¶
type RecorderMetadata struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
BaseURL string `json:"baseUrl,omitempty"`
}
RecorderMetadata contains metadata about the recording session.
type RecordingStatusInput ¶
type RecordingStatusInput struct{}
type RecordingStatusOutput ¶
type ReloadInput ¶
type ReloadInput struct{}
type ReloadOutput ¶
type ReloadOutput struct {
Message string `json:"message"`
}
type ResetSessionInput ¶
type ResetSessionInput struct{}
type ResetSessionOutput ¶
type ResetSessionOutput struct {
Message string `json:"message"`
}
type ScreenshotInput ¶
type ScreenshotOutput ¶
type ScrollIntoViewInput ¶
type ScrollIntoViewOutput ¶
type ScrollIntoViewOutput struct {
Message string `json:"message"`
}
type SelectOptionInput ¶
type SelectOptionInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the select element,required"`
Values []string `json:"values" jsonschema:"description=Option values to select"`
Labels []string `json:"labels" jsonschema:"description=Option labels to select"`
Indexes []int `json:"indexes" jsonschema:"description=Option indexes to select (0-based)"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type SelectOptionOutput ¶
type SelectOptionOutput struct {
Message string `json:"message"`
}
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the Vibium MCP server.
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session manages a browser session and collects test results.
func (*Session) CaptureContext ¶
func (s *Session) CaptureContext(ctx context.Context) *report.StepContext
CaptureContext captures the current page context.
func (*Session) CaptureScreenshot ¶
func (s *Session) CaptureScreenshot(ctx context.Context) *report.ScreenshotRef
CaptureScreenshot captures a screenshot and returns a ScreenshotRef.
func (*Session) FindSimilarSelectors ¶
FindSimilarSelectors attempts to find similar selectors to the given one.
func (*Session) GetTestResult ¶
func (s *Session) GetTestResult() *report.TestResult
GetTestResult returns the current test result.
func (*Session) LaunchIfNeeded ¶
LaunchIfNeeded launches the browser if not already running.
func (*Session) NextStepID ¶
NextStepID returns the next step ID.
func (*Session) RecordStep ¶
func (s *Session) RecordStep(result report.StepResult)
RecordStep records a step result.
type SessionConfig ¶
type SessionConfig struct {
Headless bool
DefaultTimeout time.Duration
Project string
Target string
}
SessionConfig holds session configuration.
type SetContentInput ¶
type SetContentInput struct {
HTML string `json:"html" jsonschema:"description=HTML content to set,required"`
}
type SetContentOutput ¶
type SetContentOutput struct {
Message string `json:"message"`
}
type SetCookieInput ¶
type SetCookieInput struct {
Name string `json:"name"`
Value string `json:"value"`
URL string `json:"url,omitempty"`
Domain string `json:"domain,omitempty"`
Path string `json:"path,omitempty"`
Expires float64 `json:"expires,omitempty"`
HTTPOnly bool `json:"httpOnly,omitempty"`
Secure bool `json:"secure,omitempty"`
SameSite string `json:"sameSite,omitempty"`
}
type SetCookiesInput ¶
type SetCookiesInput struct {
Cookies []SetCookieInput `json:"cookies" jsonschema:"description=Cookies to set,required"`
}
type SetCookiesOutput ¶
type SetCookiesOutput struct {
Message string `json:"message"`
}
type SetFilesInput ¶
type SetFilesInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the file input,required"`
Files []string `json:"files" jsonschema:"description=File paths to set,required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type SetFilesOutput ¶
type SetFilesOutput struct {
Message string `json:"message"`
}
type SetGeolocationInput ¶
type SetGeolocationOutput ¶
type SetGeolocationOutput struct {
Message string `json:"message"`
}
type SetTargetInput ¶
type SetTargetInput struct {
Target string `json:"target" jsonschema:"description=Test target description,required"`
}
type SetTargetOutput ¶
type SetTargetOutput struct {
Message string `json:"message"`
}
type SetViewportInput ¶
type SetViewportOutput ¶
type SetViewportOutput struct {
Message string `json:"message"`
}
type StartRecordingInput ¶
type StartRecordingInput struct {
Name string `json:"name,omitempty" jsonschema:"description=Name for the recorded script"`
Description string `json:"description,omitempty" jsonschema:"description=Description of what the script tests"`
BaseURL string `json:"baseUrl,omitempty" jsonschema:"description=Base URL for relative URLs in the script"`
}
type StartRecordingOutput ¶
type StartRecordingOutput struct {
Message string `json:"message"`
}
type StopRecordingInput ¶
type StopRecordingInput struct{}
type StopRecordingOutput ¶
type TouchSwipeInput ¶
type TouchSwipeInput struct {
StartX float64 `json:"start_x" jsonschema:"description=Starting X coordinate,required"`
StartY float64 `json:"start_y" jsonschema:"description=Starting Y coordinate,required"`
EndX float64 `json:"end_x" jsonschema:"description=Ending X coordinate,required"`
EndY float64 `json:"end_y" jsonschema:"description=Ending Y coordinate,required"`
}
type TouchSwipeOutput ¶
type TouchSwipeOutput struct {
Message string `json:"message"`
}
type TouchTapInput ¶
type TouchTapOutput ¶
type TouchTapOutput struct {
Message string `json:"message"`
}
type TypeInput ¶
type TypeInput struct {
Selector string `json:"selector" jsonschema:"description=CSS selector for the input element,required"`
Text string `json:"text" jsonschema:"description=Text to type,required"`
TimeoutMS int `json:"timeout_ms" jsonschema:"description=Timeout in milliseconds (default: 5000)"`
}
type TypeOutput ¶
type TypeOutput struct {
Message string `json:"message"`
}
type UncheckInput ¶
type UncheckOutput ¶
type UncheckOutput struct {
Message string `json:"message"`
}
type WaitForFunctionInput ¶
type WaitForFunctionOutput ¶
type WaitForFunctionOutput struct {
Message string `json:"message"`
}
type WaitForLoadInput ¶
type WaitForLoadOutput ¶
type WaitForLoadOutput struct {
Message string `json:"message"`
}
type WaitForURLInput ¶
type WaitForURLOutput ¶
type WaitForURLOutput struct {
Message string `json:"message"`
}
type WaitUntilInput ¶
type WaitUntilOutput ¶
type WaitUntilOutput struct {
Message string `json:"message"`
}