Are you curious how to deal with the complicated rendering of RadControls and WatiN? If so, I will shed some light on this.

Here is an example how to print the text of the specific node of RadTreeView and how to expand it:

[STAThread]
static void Main(string[] args)
{
IE ie = new IE("http://demos.telerik.com/aspnet/prometheus/TreeView/Examples/Programming/DataBinding/DefaultCS.aspx");
Element ulElement = ie.Element("UL", Find.ByClass("rtUL rtLines"));
Element firstLiElement = ulElement.DomContainer.Element("LI", Find.ByIndex(1));
Span textSpanElement = (Span) firstLiElement.DomContainer.Div(Find.ByClass("rtTop")).DomContainer.Span(Find.ByClass("rtIn"));
Console.WriteLine(textSpanElement.Text);
Span plusSpanElement = (Span)textSpanElement.PreviousSibling;
plusSpanElement.Click();
}

 

Yet another example how to click on a child item of RadMenu(you have to open its parent first):

 

[STAThread]
static void Main(string[] args)
{
IE ie = new IE("http://demos.telerik.com/aspnet/prometheus/Menu/Examples/Programming/AddRemoveDisableItems/DefaultCS.aspx");
Element item1LiElement = ie.Element("li", Find.ByClass("rmItem rmFirst"));
item1LiElement.FireEvent("onmouseover");
ie.Span(Find.ByText("Text File")).WaitUntilExists();
Span childMenuItem = ie.Span(Find.ByText("XML File"));
childMenuItem.Click();
}

 

This example shows how to access the particular appointment of RadScheduler and how to open the advanced form:

 

[STAThread]
static void Main(string[] args)
{
IE ie = new IE("http://demos.telerik.com/aspnet/prometheus/Scheduler/Examples/Default/DefaultCS.aspx");
Element scrollContent = ie.Element("div", Find.ByClass("rsContent rsScrollingContent rsDayView"));
Element contentTable = scrollContent.DomContainer.Element(Find.ByClass("rsContentTable"));
Element appDiv = contentTable.DomContainer.Element("RadScheduler1_10_0");
Console.WriteLine(appDiv.Title);
appDiv.DoubleClick();
}

 

Elena, Telerik


Related Posts

Comments

Comments are disabled in preview mode.