Documentation
¶
Index ¶
- Variables
- type ChromeController
- func (c *ChromeController) Close() error
- func (c *ChromeController) ExecuteScript(ctx context.Context, script string) (interface{}, error)
- func (c *ChromeController) Navigate(ctx context.Context, url string) error
- func (c *ChromeController) ScrollPage(ctx context.Context, offset int) error
- func (c *ChromeController) WaitForElement(ctx context.Context, selector string) error
- type Controller
- type MockController
- func (m *MockController) Close() error
- func (m *MockController) ExecuteScript(ctx context.Context, script string) (interface{}, error)
- func (m *MockController) GetExecuteScriptCalls() []string
- func (m *MockController) GetNavigateCalls() []string
- func (m *MockController) Navigate(ctx context.Context, url string) error
- func (m *MockController) Reset()
- func (m *MockController) ScrollPage(ctx context.Context, offset int) error
- func (m *MockController) SetExecuteScriptError(err error)
- func (m *MockController) SetExecuteScriptResult(result interface{})
- func (m *MockController) SetNavigateError(err error)
- func (m *MockController) WaitForElement(ctx context.Context, selector string) error
- type Options
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type ChromeController ¶
type ChromeController struct {
// contains filtered or unexported fields
}
ChromeController implements Controller interface using chromedp
func NewController ¶
func NewController(opts Options) (*ChromeController, error)
NewController creates a new browser controller
func (*ChromeController) Close ¶
func (c *ChromeController) Close() error
Close closes the browser context
func (*ChromeController) ExecuteScript ¶
func (c *ChromeController) ExecuteScript(ctx context.Context, script string) (interface{}, error)
ExecuteScript executes JavaScript and returns the result
func (*ChromeController) Navigate ¶
func (c *ChromeController) Navigate(ctx context.Context, url string) error
Navigate navigates to the specified URL
func (*ChromeController) ScrollPage ¶
func (c *ChromeController) ScrollPage(ctx context.Context, offset int) error
ScrollPage scrolls the page by the specified offset
func (*ChromeController) WaitForElement ¶
func (c *ChromeController) WaitForElement(ctx context.Context, selector string) error
WaitForElement waits for an element to be present
type Controller ¶
type Controller interface {
ExecuteScript(ctx context.Context, script string) (interface{}, error)
WaitForElement(ctx context.Context, selector string) error
ScrollPage(ctx context.Context, offset int) error
Close() error
}
Controller defines the interface for browser automation
type MockController ¶
type MockController struct {
// Test data
ExecuteScriptFunc func(ctx context.Context, script string) (interface{}, error)
WaitForElementFunc func(ctx context.Context, selector string) error
ScrollPageFunc func(ctx context.Context, offset int) error
CloseFunc func() error
// Call tracking
ExecuteScriptCalls []string
WaitForElementCalls []string
ScrollPageCalls []int
CloseCalls int
// State
Closed bool
// contains filtered or unexported fields
}
MockController implements Controller interface for testing
func NewMockController ¶
func NewMockController() *MockController
NewMockController creates a new mock browser controller
func (*MockController) ExecuteScript ¶
func (m *MockController) ExecuteScript(ctx context.Context, script string) (interface{}, error)
ExecuteScript mocks JavaScript execution
func (*MockController) GetExecuteScriptCalls ¶
func (m *MockController) GetExecuteScriptCalls() []string
GetExecuteScriptCalls returns all ExecuteScript calls
func (*MockController) GetNavigateCalls ¶
func (m *MockController) GetNavigateCalls() []string
GetNavigateCalls returns all Navigate calls
func (*MockController) Navigate ¶
func (m *MockController) Navigate(ctx context.Context, url string) error
Navigate mocks navigation to a URL
func (*MockController) Reset ¶
func (m *MockController) Reset()
Reset clears all call tracking and resets state
func (*MockController) ScrollPage ¶
func (m *MockController) ScrollPage(ctx context.Context, offset int) error
ScrollPage mocks page scrolling
func (*MockController) SetExecuteScriptError ¶
func (m *MockController) SetExecuteScriptError(err error)
SetExecuteScriptError sets an error to be returned by ExecuteScript
func (*MockController) SetExecuteScriptResult ¶
func (m *MockController) SetExecuteScriptResult(result interface{})
SetExecuteScriptResult sets a custom result to be returned by ExecuteScript
func (*MockController) SetNavigateError ¶
func (m *MockController) SetNavigateError(err error)
SetNavigateError sets an error to be returned by Navigate
func (*MockController) WaitForElement ¶
func (m *MockController) WaitForElement(ctx context.Context, selector string) error
WaitForElement mocks waiting for an element