Table of Contents

Class WebFlavorElement

Namespace
Ranorex.Plugin
Assembly
Ranorex.Plugin.Web.dll
public class WebFlavorElement : FlavorElement
Inheritance
WebFlavorElement
Inherited Members

Properties

DontCache

Indicates that the element should not be cached. Defaults to false.

protected override bool DontCache { get; }

Property Value

bool

ElementRectangle

The client or screen rectangle of the flavor element depending on the value returned by IsClientRectangle.

public override Rectangle ElementRectangle { get; }

Property Value

Rectangle

Remarks

To be implemented by the deriving class.

Enabled

True if the element is enabled. If the element cannot be enabled or disabled, return true.

public override bool Enabled { get; }

Property Value

bool

Remarks

To be implemented by the deriving class.

HasFocus

True if the element has the focus.

public override bool HasFocus { get; }

Property Value

bool

Remarks

To be implemented by the deriving class.

HtmlElement

[CLSCompliant(false)]
public IHTMLElement HtmlElement { get; }

Property Value

IHTMLElement

HtmlElement2

[CLSCompliant(false)]
public IHTMLElement2 HtmlElement2 { get; }

Property Value

IHTMLElement2

HtmlParentDoc

[CLSCompliant(false)]
public IHTMLDocument2 HtmlParentDoc { get; }

Property Value

IHTMLDocument2

InnerHtml

public virtual string InnerHtml { get; }

Property Value

string

InnerText

public virtual string InnerText { get; }

Property Value

string

IsClientRectangle

Determines if the ElementRectangle property returns client or screen coordinates.

public override bool IsClientRectangle { get; }

Property Value

bool

Remarks

To be implemented by the deriving class.

IsEdge

public bool IsEdge { get; }

Property Value

bool

IsUidDomainRoot

Gets a value indicating whether this flavor element can act as a unique id domain root.

public override bool IsUidDomainRoot { get; }

Property Value

bool

true if this instance is uid domain root; otherwise, false.

SupportsNativePathSearch

Indicates whether this flavor element supports searching for native RxPaths

public override bool SupportsNativePathSearch { get; }

Property Value

bool

Tag

public string Tag { get; }

Property Value

string

Valid

True if the flavor element is still valid.

public override bool Valid { get; }

Property Value

bool

Remarks

To be implemented by the deriving class.

Visible

True if the element is visible.

public override bool Visible { get; }

Property Value

bool

Remarks

To be implemented by the deriving class.

Methods

EnsureVisible()

Ensures that the flavor element is visible.

public override bool EnsureVisible()

Returns

bool

True if the operation was successful.

Focus()

Focuses the flavor element, if possible.

public override void Focus()

GetAttributeValue(Element, string)

Needs to be implemented for attribute value read access.

public override object GetAttributeValue(Element element, string name)

Parameters

element Element

The element instance used.

name string

The name of the attribute (lowercased).

Returns

object

The attribute value.

GetChildLineageFromPoint(Point, out FindRefineMode)

Returns a list of flavor elements that is the lineage to the flavor element at the specified screen location.

public override LinkedList<FlavorElement> GetChildLineageFromPoint(Point screenLocation, out FindRefineMode refineMode)

Parameters

screenLocation Point

The screen location to search at.

refineMode FindRefineMode

Can be set to indicate that further searching is required.

Returns

LinkedList<FlavorElement>

The lineage to the flavor element at the specified point as a list.

Remarks

The first element in the returned list is the direct child of this flavor element, the k-th element is the parent of the (k+1)-th element, and the last element is the actual flavor element at the specified screen location. Consequently, an empty list is to be returned if this element is the best fitting element at the requested point.

Returns null if the specified screenLocation is not within this or one of its descendant elements.

GetChildLineageFromUid(string, out UidFindResult)

Gets the child lineage from the current element to the element with the given unique id.

public override LinkedList<FlavorElement> GetChildLineageFromUid(string uidValue, out UidFindResult result)

Parameters

uidValue string

The uid value to search for.

result UidFindResult

The result status. This defaults to FindStatus.NotSupported if the flavor does not support unique id search.

Returns

LinkedList<FlavorElement>

A lineage of elements or null if nothing was found or the method is not supported.

GetChildLineagesFromPath(RxPath, int, bool, out int)

Gets the child lineages from the current element to the elements with the given RxPath.

public override IList<LinkedList<FlavorElement>> GetChildLineagesFromPath(RxPath path, int startIndex, bool findSingle, out int consumedSteps)

Parameters

path RxPath

The relative RxPath to search for.

startIndex int

The index to start searching from in the supplied RxPath.

findSingle bool

Indicates whether the search should complete after matching one element.

consumedSteps int

The number of steps consumed in the RxPath by the search operation.

Returns

IList<LinkedList<FlavorElement>>

Lineages of elements or an empty list if nothing was found, or null if the operation failed for some reason.

Remarks

Implementations are allowed to not process the whole path by specifying a consumedSteps length shorter than the complete path suffix length (from startIndex).

GetDynamicDescriptors(out IList<AttributeDescriptor>, out IList<ActionDescriptor>)

Gets the descriptors for the dynamic attributes and actions that the element supports.

public override void GetDynamicDescriptors(out IList<AttributeDescriptor> attributes, out IList<ActionDescriptor> actions)

Parameters

attributes IList<AttributeDescriptor>

The dynamic attributes that the element supports.

actions IList<ActionDescriptor>

The dynamic actions that the element supports.

Remarks

The default implementation returns empty lists for attributes and actions. Any overriding method should fill the returned lists.

GetElementCapabilities(Element, out Role, out string[], out string)

Supplies the role, a list of capabilities and a preferred capability names to the caller. This method called when building a new element from the flavor element.

public override void GetElementCapabilities(Element parent, out Role role, out string[] capabilities, out string preferredCap)

Parameters

parent Element

The parent element of the element to be constructed. (for reference only)

role Role

The role the element should have.

capabilities string[]

The list of capabilities the element should have.

preferredCap string

The preferred capability the element should have.

GetRuntimeTokenValues()

Gets the runtime token values. This must be implemented by the flavors.

protected override object[] GetRuntimeTokenValues()

Returns

object[]

A collection of objects representing a runtime token.

InvokeAction(Element, string, object[])

Needs to be implemented for element action invocation.

public override object InvokeAction(Element element, string name, object[] args)

Parameters

element Element

The element instance used.

name string

The name of the action (lowercased).

args object[]

A list of invocation parameters.

Returns

object

The invocation result. Can be null if the return type is void.

InvokeEdgeFlashCallFunction(string)

public string InvokeEdgeFlashCallFunction(string args)

Parameters

args string

Returns

string

IsEqual(FlavorElement)

Compares to flavor elements. This should be implemented using the best comparison method available.

public override bool IsEqual(FlavorElement flavorElem)

Parameters

flavorElem FlavorElement

The flavor element to compare to.

Returns

bool

True if the flavor elements are equal.

Remarks

The base method compares the token values returned by GetRuntimeTokenValues().

SetAttributeValue(Element, string, object)

Needs to be implemented for attribute value write access.

public override void SetAttributeValue(Element element, string name, object value)

Parameters

element Element

The element instance used.

name string

The name of the attribute (lowercased).

value object

The attribute value to be set.