Website Explorer

Full-Automatic Crawler & Enroller Producing an XML based Object Repository

Description

The Website Explorer is responsible for exploring a website automatically and extracting the contents - pages and controls - into an XML based Object Repository.

The Object Repository represents the foundation for the sub-sequential code generation of page objects and test scripts. The Website Explorer consist of following two components - Crawler & Enroller.

The crawler is responsible for navigating the website operating within the actual application domain. The enroller is responsible for interpreting web pages and extracting all relevant information specified into the Object Repository.

The Website Explorer is in general terms operated by a configuration containing the specific application settings.

Screenshot

Output

Following snippet shows an example of an XML based generated Object Repository...

<?xml version="1.0" encoding="utf-8"?>
<Repository xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Project projectName="Rojabo">
    <Menus>
      <Menu class="MainMenuPage" baseClass="BaseMenuPage">
        <Methods>
          <Method name="Tests" path="Tests" class="TestsPage" location="/tests" />
          <Method name="Events" path="Events" class="EventsPage" location="/events" />
        </Methods>
      </Menu>
    </Menus>
    <Pages>
      <Page class="EventsPage">
        <Controls>
          <Control type="WebLink" name="NewEvent" locator="By.LinkText(&quot;New event&quot;)" />
          <Control type="WebTable" name="Events" locator="By.XPath(&quot;//table[@src='grid']&quot;)" />
        </Controls>
      </Page>
      <Page class="EventsNewPage">
        <Controls>
          <Control type="WebTextBox" name="EventName" locator="By.Id(&quot;event_name&quot;)" />
          <Control type="WebComboBox" name="EventYear" locator="By.Id(&quot;event_year&quot;)" />
          <Control type="WebComboBox" name="EventMonth" locator="By.Id(&quot;event_month&quot;)" />
          <Control type="WebComboBox" name="EventDay" locator="By.Id(&quot;event_day&quot;)" />
          <Control type="WebComboBox" name="EventType" locator="By.Id(&quot;event_type&quot;)" />
          <Control type="WebButton" name="Save" locator="By.Id(&quot;submit&quot;)" />
          <Control type="WebLink" name="Cancel" locator="By.LinkText(&quot;cancel&quot;)" />
        </Controls>
      </Page>
    </Pages>
  </Project>
</Repository>