Documentation ¶
Index ¶
- Constants
- Variables
- func ElementIsNotPresent(by By, value string) func(f Finder) (bool, *WebElement, error)
- func ElementIsPresent(by By, value string) func(f Finder) (bool, *WebElement, error)
- type By
- type Capabilities
- type Client
- func (c *Client) AcceptAlert() error
- func (c *Client) AddCookie(cookie Cookie) (*Response, error)
- func (c *Client) Back() error
- func (c *Client) CloseWindow() (*Response, error)
- func (c *Client) Connect(host string, port int) error
- func (c *Client) Context() (*Response, error)
- func (c *Client) DeleteAllCookies() error
- func (c *Client) DeleteCookie(name string) (error, error)
- func (c *Client) DeleteSession() error
- func (c *Client) DismissAlert() error
- func (c *Client) ExecuteAsyncScript(script string, args []interface{}, newSandbox bool) (*Response, error)
- func (c *Client) ExecuteScript(script string, args []interface{}, timeout uint, newSandbox bool) (*Response, error)
- func (c *Client) FindElement(by By, value string) (*WebElement, error)
- func (c *Client) FindElements(by By, value string) ([]*WebElement, error)
- func (c *Client) Forward() error
- func (c *Client) FullscreenWindow() (rect *WindowRect, err error)
- func (c *Client) GetActiveElement() (*WebElement, error)
- func (c *Client) GetCapabilities() (*Capabilities, error)
- func (c *Client) GetCookies() ([]Cookie, error)
- func (c *Client) GetTimeouts() (map[string]uint, error)
- func (c *Client) GetWindowHandle() (string, error)
- func (c *Client) GetWindowHandles() ([]string, error)
- func (c *Client) GetWindowRect() (rect *WindowRect, err error)
- func (c *Client) MaximizeWindow() (rect *WindowRect, err error)
- func (c *Client) MinimizeWindow() (rect *WindowRect, err error)
- func (c *Client) Navigate(url string) (*Response, error)
- func (c *Client) NewSession(sessionId string, cap *Capabilities) (*Response, error)
- func (c *Client) NewWindow(focus bool, typ string, private bool) (*Response, error)
- func (c *Client) PageSource() (*Response, error)
- func (c *Client) Quit() (*Response, error)
- func (c *Client) Refresh() error
- func (c *Client) Screenshot() (string, error)
- func (c *Client) SendAlertText(keys string) error
- func (c *Client) SessionID() string
- func (c *Client) SetContext(value Context) (*Response, error)
- func (c *Client) SetImplicitTimout(milliseconds int) (*Response, error)
- func (c *Client) SetPageLoadTimeout(milliseconds int) (*Response, error)
- func (c *Client) SetScriptTimeout(milliseconds int) (*Response, error)
- func (c *Client) SetTimeouts(data map[string]int) (*Response, error)
- func (c *Client) SetWindowRect(rect WindowRect) error
- func (c *Client) SwitchToFrame(by By, value string) error
- func (c *Client) SwitchToParentFrame() error
- func (c *Client) SwitchToWindow(name string) error
- func (c *Client) TextFromAlert() (string, error)
- func (c *Client) Title() (string, error)
- func (c *Client) Transport(t Transporter)
- func (c *Client) Url() (string, error)
- type Context
- type Cookie
- type Decoder
- type DecoderEncoder
- type DriverError
- type ElementRect
- type Encoder
- type Finder
- type MarionetteTransport
- func (t *MarionetteTransport) Close() error
- func (t *MarionetteTransport) Connect(host string, port int) error
- func (t *MarionetteTransport) MessageID() int
- func (t *MarionetteTransport) Receive() ([]byte, error)
- func (t *MarionetteTransport) Send(command string, values interface{}) (*Response, error)
- type Navigator
- type Point
- type ProtoV3DecoderEncoder
- type Response
- type Size
- type Transporter
- type Waiter
- type WebElement
- func (e *WebElement) Attribute(name string) string
- func (e *WebElement) Clear()
- func (e *WebElement) Click()
- func (e *WebElement) CssValue(property string) string
- func (e *WebElement) Displayed() bool
- func (e *WebElement) Enabled() bool
- func (e *WebElement) FindElement(by By, value string) (*WebElement, error)
- func (e *WebElement) FindElements(by By, value string) ([]*WebElement, error)
- func (e *WebElement) GetActiveElement() (*WebElement, error)
- func (e *WebElement) Id() string
- func (e *WebElement) Location() (*Point, error)
- func (e *WebElement) Property(name string) string
- func (e *WebElement) Rect() (*ElementRect, error)
- func (e *WebElement) Screenshot() (string, error)
- func (e *WebElement) Selected() bool
- func (e *WebElement) SendKeys(keys string) error
- func (e *WebElement) Size() (*Size, error)
- func (e *WebElement) TagName() string
- func (e *WebElement) Text() string
- func (e *WebElement) UnmarshalJSON(data []byte) error
- type WindowRect
Constants ¶
const ( MARIONETTE_PROTOCOL_V3 = 3 WEBDRIVER_ELEMENT_KEY = "element-6066-11e4-a52e-4f735466cecf" )
Variables ¶
var RunningInDebugMode bool = false
Functions ¶
func ElementIsNotPresent ¶
func ElementIsPresent ¶
Types ¶
type By ¶
type By int
strategy type to find elements in the DOM
const ( ID By = 1 + iota NAME CLASS_NAME TAG_NAME CSS_SELECTOR LINK_TEXT PARTIAL_LINK_TEXT XPATH ANON ANON_ATTRIBUTE )
:param method: The method to use to locate the element; one of:
"id", "name", "class name", "tag name", "css selector", "link text", "partial link text", "xpath", "anon" and "anon attribute". Note that the "name", "link text" and "partial link test" methods are not supported in the chrome DOM.
:param target: The target of the search. For example, if method =
"tag", target might equal "div". If method = "id", target would be an element id.
:param id: If specified, search for elements only inside the element
with the specified id.
"""
type Capabilities ¶
type Capabilities struct { BrowserName string BrowserVersion string PlatformName string PlatformVersion string SpecificationLevel uint RaisesAccessibilityExceptions bool Rotatable bool AcceptSslCerts bool TakesElementScreenshot bool TakesScreenshot bool Proxy interface{} Platform string XULappId string AppBuildId string Device string Version string Command_id uint32 }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AcceptAlert ¶ added in v0.0.2
AcceptAlert accepts the dialog - like clicking Ok/Yes
func (*Client) CloseWindow ¶
CloseWindow closes current window.
func (*Client) DeleteAllCookies ¶ added in v0.0.2
DeleteAllCookies Delete all cookies
func (*Client) DeleteCookie ¶ added in v0.0.2
DeleteCookie Deletes cookie by name
func (*Client) DeleteSession ¶
DeleteSession Marionette currently only accepts a session id, so if we call delete session can also close the TCP Connection
func (*Client) DismissAlert ¶ added in v0.0.2
DismissAlert dismisses the dialog - like clicking No/Cancel
func (*Client) ExecuteAsyncScript ¶ added in v0.0.4
func (c *Client) ExecuteAsyncScript(script string, args []interface{}, newSandbox bool) (*Response, error)
ExecuteAsyncScript Execute JS Script Async TODO: Add missing arguments/options
func (*Client) ExecuteScript ¶
func (c *Client) ExecuteScript(script string, args []interface{}, timeout uint, newSandbox bool) (*Response, error)
ExecuteScript Execute JS Script
func (*Client) FindElement ¶
func (c *Client) FindElement(by By, value string) (*WebElement, error)
FindElement Find an element using the indicated search strategy.
func (*Client) FindElements ¶
func (c *Client) FindElements(by By, value string) ([]*WebElement, error)
FindElements Find elements using the indicated search strategy.
func (*Client) FullscreenWindow ¶ added in v0.0.3
func (c *Client) FullscreenWindow() (rect *WindowRect, err error)
FullscreenWindow Synchronously sets the user agent window to full screen as if the user had done "View > Enter Full Screen"
func (*Client) GetActiveElement ¶ added in v0.0.5
func (c *Client) GetActiveElement() (*WebElement, error)
GetActiveElement Returns the page's active element.
func (*Client) GetCapabilities ¶ added in v0.0.3
func (c *Client) GetCapabilities() (*Capabilities, error)
Capabilities informs the client of which WebDriver features are supported by Firefox and Marionette. They are immutable for the length of the session.
func (*Client) GetCookies ¶ added in v0.0.2
GetCookies Get all cookies
func (*Client) GetTimeouts ¶ added in v0.0.3
Get Timeouts Get current set timeouts
func (*Client) GetWindowHandle ¶ added in v0.0.3
GetWindowHandle returns the current window ID
func (*Client) GetWindowHandles ¶ added in v0.0.3
GetWindowHandles return array of window ID currently opened
func (*Client) GetWindowRect ¶
func (c *Client) GetWindowRect() (rect *WindowRect, err error)
GetWindowRect gets window position and size
func (*Client) MaximizeWindow ¶
func (c *Client) MaximizeWindow() (rect *WindowRect, err error)
MaximizeWindow maximizes window.
func (*Client) MinimizeWindow ¶ added in v0.0.3
func (c *Client) MinimizeWindow() (rect *WindowRect, err error)
MinimizeWindow Synchronously minimizes the user agent window as if the user pressed the minimize button.
func (*Client) NewSession ¶
func (c *Client) NewSession(sessionId string, cap *Capabilities) (*Response, error)
NewSession create new session
func (*Client) NewWindow ¶ added in v0.0.3
NewWindow opens a new top-level browsing context window.
param: type string Optional type of the new top-level browsing context. Can be one of `tab` or `window`. Defaults to `tab`.
param: focus bool Optional flag if the new top-level browsing context should be opened in foreground (focused) or background (not focused). Defaults to false.
param: private bool Optional flag, which gets only evaluated for type `window`. True if the new top-level browsing context should be a private window. Defaults to false.
return {"handle": string, "type": string} Handle and type of the new browsing context.
func (*Client) PageSource ¶
PageSource get page source
func (*Client) Screenshot ¶
Screenshot takes a screenshot of the page.
func (*Client) SendAlertText ¶ added in v0.0.2
SendAlertText sends text to a dialog
func (*Client) SetContext ¶
SetContext Sets the context of the subsequent commands to be either "chrome" or "content". Must be one of "chrome" or "content" only.
func (*Client) SetImplicitTimout ¶ added in v0.0.2
SetImplicitTimout Set timeout for searching for elements.
func (*Client) SetPageLoadTimeout ¶ added in v0.0.2
SetPageLoadTimeout Set timeout for page loading.
func (*Client) SetScriptTimeout ¶
SetScriptTimeout Set the timeout for asynchronous script execution.
func (*Client) SetTimeouts ¶ added in v0.0.2
<h4>Timeouts object</h4>
<dl> <dt><code>script</code> (number) <dd>Determines when to interrupt a script that is being evaluates.
<dt><code>pageLoad</code> (number) <dd>Provides the timeout limit used to interrupt navigation of the
browsing context.
<dt><code>implicit</code> (number) <dd>Gives the timeout of when to abort when locating an element. </dl>
func (*Client) SetWindowRect ¶
func (c *Client) SetWindowRect(rect WindowRect) error
SetWindowRect sets window position and size
func (*Client) SwitchToFrame ¶
SwitchToFrame switch to frame - strategies: By(ID), By(NAME) or name only.
func (*Client) SwitchToParentFrame ¶
SwitchToParentFrame switch to parent frame
func (*Client) SwitchToWindow ¶
SwitchToWindow switch to specific window.
func (*Client) TextFromAlert ¶ added in v0.0.2
TextFromAlert gets text from the dialog
func (*Client) Transport ¶
func (c *Client) Transport(t Transporter)
type DecoderEncoder ¶
func NewDecoderEncoder ¶
func NewDecoderEncoder(protoVersion int32) (DecoderEncoder, error)
type DriverError ¶
func (DriverError) Error ¶
func (e DriverError) Error() string
func (DriverError) String ¶
func (e DriverError) String() string
type ElementRect ¶
type Encoder ¶
type Encoder interface {
Encode(t Transporter, command string, values interface{}) ([]byte, error)
}
type Finder ¶
type Finder interface { FindElement(by By, value string) (*WebElement, error) FindElements(by By, value string) ([]*WebElement, error) }
type MarionetteTransport ¶
type MarionetteTransport struct { ApplicationType string MarionetteProtocol int32 // contains filtered or unexported fields }
func (*MarionetteTransport) Close ¶
func (t *MarionetteTransport) Close() error
func (*MarionetteTransport) Connect ¶
func (t *MarionetteTransport) Connect(host string, port int) error
func (*MarionetteTransport) MessageID ¶
func (t *MarionetteTransport) MessageID() int
func (*MarionetteTransport) Receive ¶
func (t *MarionetteTransport) Receive() ([]byte, error)
type ProtoV3DecoderEncoder ¶
type ProtoV3DecoderEncoder struct{}
func (ProtoV3DecoderEncoder) Decode ¶
func (e ProtoV3DecoderEncoder) Decode(buf []byte, r *Response) error
func (ProtoV3DecoderEncoder) Encode ¶
func (e ProtoV3DecoderEncoder) Encode(t Transporter, command string, values interface{}) ([]byte, error)
type Response ¶
type Response struct { MessageID int32 Size int32 Value string DriverError *DriverError }
type Transporter ¶
type Waiter ¶
type Waiter struct {
// contains filtered or unexported fields
}
func (*Waiter) Until ¶
func (w *Waiter) Until(f func(c Finder) (bool, *WebElement, error)) (bool, *WebElement, error)
type WebElement ¶
type WebElement struct {
// contains filtered or unexported fields
}
func (*WebElement) Attribute ¶
func (e *WebElement) Attribute(name string) string
func (*WebElement) Clear ¶
func (e *WebElement) Clear()
func (*WebElement) Click ¶
func (e *WebElement) Click()
func (*WebElement) CssValue ¶
func (e *WebElement) CssValue(property string) string
func (*WebElement) Displayed ¶
func (e *WebElement) Displayed() bool
func (*WebElement) Enabled ¶
func (e *WebElement) Enabled() bool
func (*WebElement) FindElement ¶
func (e *WebElement) FindElement(by By, value string) (*WebElement, error)
func (*WebElement) FindElements ¶
func (e *WebElement) FindElements(by By, value string) ([]*WebElement, error)
func (*WebElement) GetActiveElement ¶ added in v0.0.5
func (e *WebElement) GetActiveElement() (*WebElement, error)
func (*WebElement) Id ¶
func (e *WebElement) Id() string
func (*WebElement) Location ¶
func (e *WebElement) Location() (*Point, error)
func (*WebElement) Property ¶ added in v0.0.6
func (e *WebElement) Property(name string) string
func (*WebElement) Rect ¶
func (e *WebElement) Rect() (*ElementRect, error)
func (*WebElement) Screenshot ¶
func (e *WebElement) Screenshot() (string, error)
func (*WebElement) Selected ¶
func (e *WebElement) Selected() bool
func (*WebElement) SendKeys ¶
func (e *WebElement) SendKeys(keys string) error
func (*WebElement) Size ¶
func (e *WebElement) Size() (*Size, error)
func (*WebElement) TagName ¶
func (e *WebElement) TagName() string
func (*WebElement) Text ¶
func (e *WebElement) Text() string
func (*WebElement) UnmarshalJSON ¶
func (e *WebElement) UnmarshalJSON(data []byte) error