Does Ranorex test their own products with Ranorex?
Yes, they do, as following sample describes. The Ranorex WebSpy tool is one of the user interfaces provided by the Automation Framework for analyzing web applications.

Please notice that this blog post targets Ranorex 1.X and might be obsolete if you use Ranorex 2.x or newer!”

To start with, when you use Ranorex Spy to examine WebSpy it looks as if it will be quite easy to automate the GUI controls (.NET Controls). Not surprisingly, you will notice that Ranorex leads by example here as all GUI controls in WebSpy have unique identifiers. Below is some of our simple automation code …

// Search for WebSpy application
 Form webSpyForm = Application.FindFormTitle("Ranorex WebSpy", SearchMatchMode.MatchExact, true);
// Test 'Options' menu
MenuStrip menu = webSpyForm.FindMenuStrip("menuStripMain");

// Open 'Start page' dialog
menu.SelectItemText("Options", "Set start page ...");

Form startPage = Application.FindFormTitle("Start page", SearchMatchMode.MatchExact, true);
TextBox startUrlTextBox = startPage.FindTextBox("startPageUrlTextBox");
startUrlTextBox.Text = "";

// Click 'Default' button
Button useDefaultButton = startPage.FindButton("useDefaultButton");

// Click 'OK' button
Button okButton = startPage.FindButton("okButton");

TextBox textBoxAddress = webSpyForm.FindTextBox("textBoxAddress");

// Navigate to
textBoxAddress.Text = "";

Not a big challenge until now. But not only the typical GUI elements (menus, buttons, tab controls, …) have to be tested automatically.
The most complex control is the integrated browser control which has to be tested, too. So the key target of our test is to validate the interaction of .NET controls with the web elements of a web site.

WebSpy analyzed with Ranorex Spy Pro

// Search for integrated browser
Control browserControl = webSpyForm.FindClassName("Internet Explorer_Server", 1);

// Find link 'Products' within website and move mouse cursor to web element
WebDocument doc = WebDocument.GetDocument(browserControl,2000);
WebElement productLink = doc.FindSingle("//a[text()='Products']");

// Simulate hot key
Application.SendKeys("{CTRLDOWN}{CTRLUP}", 570);

// Click tabs from WebSpy
Control tabControl = webSpyForm.FindControlName("tabControlElement");
Element[] tabs = tabControl.Element.FindChildren(Role.PageTab);
foreach (Element tab in tabs)

// Select 'MouseMoveTo' link item
Element actionsTab = tabControl.Element.FindChild(Role.PageTab, "Actions");
Element link = actionsTab.FindChild(Role.Link, "MouseMoveTo");

The big advantage with RanorexNet is that there is no difference between testing web sites with Internet Explorer or testing web sites which are integrated in other applications as shown with Ranorex WebSpy.

You might also like these articles